All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] test/crypto: add PDCP vectors and cases
@ 2019-09-03 16:49 Akhil Goyal
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
  0 siblings, 1 reply; 20+ messages in thread
From: Akhil Goyal @ 2019-09-03 16:49 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

This patch add test vectors and a test framework for PDCP
cplane and uplane protocol processing based on various
sequence number sizes(5/7/12/15/18).

These test cases and test vectors are validated over NXP DPAA_SEC
and DPAA2_SEC platforms.

This is an RFC patch. It will be split into multiple patches.

Further this patch is dependent on
http://patches.dpdk.org/project/dpdk/list/?series=6199

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/Makefile                             |    1 +
 app/test/meson.build                          |    1 +
 app/test/test_cryptodev.c                     |  714 +-
 app/test/test_cryptodev_security_pdcp.c       |  587 ++
 .../test_cryptodev_security_pdcp_test_func.h  |   48 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 6324 +++++++++++++++++
 6 files changed, 7668 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp.c
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h

diff --git a/app/test/Makefile b/app/test/Makefile
index 26ba6fe2b..df7f77f44 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -196,6 +196,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
+SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
 
 SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
 
diff --git a/app/test/meson.build b/app/test/meson.build
index ec40943bd..63577a5d4 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -28,6 +28,7 @@ test_sources = files('commands.c',
 	'test_cpuflags.c',
 	'test_crc.c',
 	'test_cryptodev.c',
+	'test_cryptodev_security_pdcp.c',
 	'test_cryptodev_asym.c',
 	'test_cryptodev_blockcipher.c',
 	'test_cycles.c',
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 4197febb0..e2d45f3a5 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -38,6 +38,10 @@
 #include "test_cryptodev_zuc_test_vectors.h"
 #include "test_cryptodev_aead_test_vectors.h"
 #include "test_cryptodev_hmac_test_vectors.h"
+#ifdef RTE_LIBRTE_SECURITY
+#include "test_cryptodev_security_pdcp_test_vectors.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+#endif
 
 #define VDEV_ARGS_SIZE 100
 #define MAX_NB_SESSIONS 4
@@ -65,8 +69,11 @@ struct crypto_unittest_params {
 	struct rte_crypto_sym_xform auth_xform;
 	struct rte_crypto_sym_xform aead_xform;
 
-	struct rte_cryptodev_sym_session *sess;
-
+	union {
+		struct rte_cryptodev_sym_session *sess;
+		struct rte_security_session *sec_session;
+	};
+	enum rte_security_session_action_type type;
 	struct rte_crypto_op *op;
 
 	struct rte_mbuf *obuf, *ibuf;
@@ -566,11 +573,21 @@ ut_teardown(void)
 	struct rte_cryptodev_stats stats;
 
 	/* free crypto session structure */
-	if (ut_params->sess) {
-		rte_cryptodev_sym_session_clear(ts_params->valid_devs[0],
-				ut_params->sess);
-		rte_cryptodev_sym_session_free(ut_params->sess);
-		ut_params->sess = NULL;
+	if (ut_params->type == RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL) {
+		if (ut_params->sec_session) {
+			rte_security_session_destroy(rte_cryptodev_get_sec_ctx
+						(ts_params->valid_devs[0]),
+						ut_params->sec_session);
+			ut_params->sec_session = NULL;
+		}
+	} else {
+		if (ut_params->sess) {
+			rte_cryptodev_sym_session_clear(
+					ts_params->valid_devs[0],
+					ut_params->sess);
+			rte_cryptodev_sym_session_free(ut_params->sess);
+			ut_params->sess = NULL;
+		}
 	}
 
 	/* free crypto operation structure */
@@ -7021,6 +7038,581 @@ test_authenticated_encryption(const struct aead_test_data *tdata)
 
 }
 
+#define IN_PLACE	0
+#define OUT_OF_PLACE	1
+
+#ifdef RTE_LIBRTE_SECURITY
+/* Basic algorithm run function for async inplace mode.
+ * Creates a session from input parameters and runs one operation
+ * on input_vec. Checks the output of the crypto operation against
+ * output_vec.
+ */
+static int
+test_pdcp_proto(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	int ret = TEST_SUCCESS;
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  input_vec_len);
+	memcpy(plaintext, input_vec, input_vec_len);
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, output_vec_len);
+	}
+
+	/* Set crypto type as IPSEC */
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+
+	if (memcmp(ciphertext, output_vec, output_vec_len)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, output_vec_len);
+		rte_hexdump(stdout, "reference", output_vec, output_vec_len);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
+static int
+test_pdcp_proto_SGL(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len,
+	uint32_t fragsz,
+	uint32_t fragsz_oop)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	struct rte_mbuf *buf, *buf_oop = NULL;
+	int ret = TEST_SUCCESS;
+	int to_trn = 0;
+	int to_trn_tbl[16];
+	int segs = 1;
+	unsigned int trn_data = 0;
+
+	if (fragsz > input_vec_len)
+		fragsz = input_vec_len;
+
+	uint16_t plaintext_len = fragsz;
+	uint16_t frag_size_oop = fragsz_oop ? fragsz_oop : fragsz;
+
+	if (fragsz_oop > output_vec_len)
+		frag_size_oop = output_vec_len;
+
+	int ecx = 0;
+	if (input_vec_len % fragsz != 0) {
+		if (input_vec_len / fragsz + 1 > 16)
+			return 1;
+	} else if (input_vec_len / fragsz > 16)
+		return 1;
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, frag_size_oop);
+		buf_oop = ut_params->obuf;
+	}
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  plaintext_len);
+	memcpy(plaintext, input_vec, plaintext_len);
+	trn_data += plaintext_len;
+
+	buf = ut_params->ibuf;
+
+	/*
+	 * Loop until no more fragments
+	 */
+
+	while (trn_data < input_vec_len) {
+		++segs;
+		to_trn = (input_vec_len - trn_data < fragsz) ?
+				(input_vec_len - trn_data) : fragsz;
+
+		to_trn_tbl[ecx++] = to_trn;
+
+		buf->next = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		buf = buf->next;
+
+		memset(rte_pktmbuf_mtod(buf, uint8_t *), 0,
+				rte_pktmbuf_tailroom(buf));
+
+		/* OOP */
+		if (oop && !fragsz_oop) {
+			buf_oop->next =
+					rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+		}
+
+		plaintext = (uint8_t *)rte_pktmbuf_append(buf,
+				to_trn);
+
+		memcpy(plaintext, input_vec + trn_data, to_trn);
+		trn_data += to_trn;
+	}
+
+	ut_params->ibuf->nb_segs = segs;
+
+	segs = 1;
+	if (fragsz_oop && oop) {
+		to_trn = 0;
+		ecx = 0;
+
+		trn_data = frag_size_oop;
+		while (trn_data < output_vec_len) {
+			++segs;
+			to_trn =
+				(output_vec_len - trn_data <
+						frag_size_oop) ?
+				(output_vec_len - trn_data) :
+						frag_size_oop;
+
+			to_trn_tbl[ecx++] = to_trn;
+
+			buf_oop->next =
+				rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+
+			trn_data += to_trn;
+		}
+		ut_params->obuf->nb_segs = segs;
+	}
+
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+	if (fragsz_oop)
+		fragsz = frag_size_oop;
+	if (memcmp(ciphertext, output_vec, fragsz)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, fragsz);
+		rte_hexdump(stdout, "reference", output_vec, fragsz);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	buf = ut_params->op->sym->m_src->next;
+	if (oop)
+		buf = ut_params->op->sym->m_dst->next;
+
+	unsigned int off = fragsz;
+
+	ecx = 0;
+	while (buf) {
+		ciphertext = rte_pktmbuf_mtod(buf,
+				uint8_t *);
+		if (memcmp(ciphertext, output_vec + off, to_trn_tbl[ecx])) {
+			printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+			rte_hexdump(stdout, "encrypted", ciphertext, to_trn_tbl[ecx]);
+			rte_hexdump(stdout, "reference", output_vec + off, to_trn_tbl[ecx]);
+			ret = TEST_FAILED;
+			goto on_err;
+		}
+		off += to_trn_tbl[ecx++];
+		buf = buf->next;
+	}
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
+int
+test_pdcp_proto_cplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]+4);
+}
+
+int
+test_pdcp_proto_uplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]);
+
+}
+
+int
+test_pdcp_proto_uplane_encap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4);
+}
+
+int
+test_pdcp_proto_cplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
+int
+test_pdcp_proto_uplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
+int
+test_pdcp_proto_uplane_decap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
+static int
+test_PDCP_PROTO_SGL_in_place_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 12-bit AES-SNOW DL encap */
+	int i = PDCP_UPLANE_12BIT_OFFSET + AES_ENC + SNOW_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, IN_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 0);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_128B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit NULL-NULL DL encap */
+	int i = PDCP_UPLANE_18BIT_OFFSET + NULL_ENC + NULL_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 128);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_40B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit AES DL encap */
+	int i = PDCP_UPLANE_OFFSET + AES_ENC + EIGHTEEN_BIT_SEQ_NUM_OFFSET
+			+ DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i],
+			32, 40);
+}
+static int
+test_PDCP_PROTO_SGL_oop_128B_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is cplane 12-bit AES-ZUC DL encap */
+	int i = PDCP_CPLANE_LONG_SN_OFFSET + AES_ENC + ZUC_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			128, 32);
+}
+#endif
+
+
 static int
 test_AES_GCM_authenticated_encryption_test_case_1(void)
 {
@@ -11433,6 +12025,28 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			     test_authonly_dpaa_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
@@ -11538,6 +12152,28 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_authonly_dpaa2_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
@@ -11650,6 +12286,70 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_auth_encrypt_SGL_out_of_place_1500B_2000B),
 
+		/** SNOW 3G encrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop_sgl),
+
+		/** SNOW 3G decrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_3),
+
+		/** ZUC encrypt only (EEA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_5),
+
+		/** ZUC authenticate (EIA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_6),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_7),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_8),
+
 		TEST_CASES_END() /**< NULL terminate unit test array */
 	}
 };
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
new file mode 100644
index 000000000..0599f92d3
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -0,0 +1,587 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#include <time.h>
+
+#include <rte_common.h>
+#include <rte_hexdump.h>
+#include <rte_mbuf.h>
+#include <rte_malloc.h>
+#include <rte_memcpy.h>
+#include <rte_pause.h>
+#include <rte_bus_vdev.h>
+#include <rte_byteorder.h>
+
+#include <rte_crypto.h>
+#include <rte_cryptodev.h>
+#include <rte_cryptodev_pmd.h>
+#include <rte_security.h>
+
+#include <rte_lcore.h>
+#include "test.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+
+static int cplane_encap(uint32_t sn_size, uint8_t dir,
+			enum enc_alg_off enc_alg_off,
+			enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_encap(i);
+}
+
+static int cplane_decap(uint32_t sn_size, uint8_t dir,
+			enum enc_alg_off enc_alg_off,
+			enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_decap(i);
+}
+
+/*****************************************************/
+static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap(i);
+}
+
+static int uplane_decap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap(i);
+}
+
+static int uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap_with_int(i);
+}
+
+static int uplane_decap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap_with_int(i);
+}
+
+#define TEST_PDCP_COUNT(func) do {			\
+	if (func == TEST_SUCCESS)  {			\
+		printf("\t%d)", n++);			\
+		printf(#func"-PASS\n");			\
+		i++;					\
+	} else {					\
+		printf("\t%d)", n++);			\
+		printf("+++++ FAILED:" #func"\n");	\
+	}						\
+} while (0)
+
+int
+test_PDCP_PROTO_cplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 12-bit SN */
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
+
+int
+test_PDCP_PROTO_cplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* C-plane 12-bit */
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
+
+int
+test_PDCP_PROTO_uplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	/* For 12-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 18-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
+
+int
+test_PDCP_PROTO_uplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	/* u-plane 12-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* u-plane 18-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
new file mode 100644
index 000000000..f3dc93e2f
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_FUNC_H_
+#define SECURITY_PDCP_TEST_FUNC_H_
+
+#define PDCP_CPLANE_OFFSET		0
+#define PDCP_CPLANE_LONG_SN_OFFSET	32
+#define PDCP_UPLANE_OFFSET		64
+#define LONG_SEQ_NUM_OFFSET		0
+#define SHORT_SEQ_NUM_OFFSET		2
+#define FIFTEEN_BIT_SEQ_NUM_OFFSET	4
+#define EIGHTEEN_BIT_SEQ_NUM_OFFSET	6
+#define UPLINK				0
+#define DOWNLINK			1
+/* key length(in bytes) for F8 */
+#define F8_KEY_LEN			16
+
+#define PDCP_UPLANE_12BIT_OFFSET	(PDCP_UPLANE_OFFSET + 32)
+#define PDCP_UPLANE_18BIT_OFFSET	(PDCP_UPLANE_12BIT_OFFSET + 32)
+
+enum enc_alg_off {
+	NULL_ENC = 0,
+	SNOW_ENC = 8,
+	AES_ENC = 16,
+	ZUC_ENC = 24
+};
+enum auth_alg_off {
+	NULL_AUTH = 0,
+	SNOW_AUTH = 2,
+	AES_AUTH = 4,
+	ZUC_AUTH = 6
+};
+
+int test_pdcp_proto_cplane_encap(int i);
+int test_pdcp_proto_uplane_encap(int i);
+int test_pdcp_proto_uplane_encap_with_int(int i);
+int test_pdcp_proto_cplane_decap(int i);
+int test_pdcp_proto_uplane_decap(int i);
+int test_pdcp_proto_uplane_decap_with_int(int i);
+
+int test_PDCP_PROTO_cplane_encap_all(void);
+int test_PDCP_PROTO_cplane_decap_all(void);
+int test_PDCP_PROTO_uplane_encap_all(void);
+int test_PDCP_PROTO_uplane_decap_all(void);
+
+#endif /* SECURITY_PDCP_TEST_FUNC_H_ */
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
new file mode 100644
index 000000000..abea91db6
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -0,0 +1,6324 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_VECTOR_H_
+#define SECURITY_PDCP_TEST_VECTOR_H_
+
+#include <rte_security.h>
+
+/*
+ * PDCP test vectors and related structures.
+ */
+enum pdcp_dir {
+	PDCP_DIR_UPLINK = 0,
+	PDCP_DIR_DOWNLINK = 1,
+	PDCP_DIR_INVALID
+};
+
+struct pdcp_test_param {
+	uint8_t type;
+	enum rte_security_pdcp_domain domain;
+	enum rte_crypto_cipher_algorithm cipher_alg;
+	uint8_t cipher_key_len;
+	enum rte_crypto_auth_algorithm auth_alg;
+	uint8_t auth_key_len;
+	const char *name;
+};
+
+static struct pdcp_test_param pdcp_test_params[] = {
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+
+	 /* For 12-bit C-plane */
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+
+	 /********* 12-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	 /********* 18-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+};
+
+static uint32_t pdcp_test_hfn[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa557,
+
+	/* For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x01,
+
+	/* 12-bit C-plane ends ***********************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x01,
+
+	 /********* 12-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+
+	 /********* 18-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+};
+
+static uint32_t pdcp_test_hfn_threshold[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa558,
+
+	/*********** For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x70C0A,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x00002195,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	0x00002195,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+};
+
+static uint8_t pdcp_test_bearer[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x03,
+
+	/************** For 12-bit C-plane ********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x16,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x16,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x16,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+
+};
+
+static uint8_t pdcp_test_packet_direction[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+
+	/***************** For 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL for 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL for 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
+};
+
+static uint8_t pdcp_test_data_sn_size[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	5,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	5,
+
+	/*************** 12 bit SN for C-plane **************************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	12,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	12,
+	/*************** 12 bit SN for C-plane end **************************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	12,
+	/* User Plane w/NULL enc. DL LONG SN */
+	12,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	18,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	12,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	18,
+};
+
+static uint8_t *pdcp_test_crypto_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+
+	/*********** C-plane 12-bit **************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/******* u-plane for 12-bit SN ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/******* u-plane for 18-bit SN with integrity ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+};
+
+static uint8_t *pdcp_test_auth_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+
+	/********* 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. DL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	NULL,
+
+	/***** u-plane with integrity for 12-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/***** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+};
+
+static uint8_t *pdcp_test_data_in[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+
+	/*************** 12-bit C-plane ****************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+
+	/*************** u-plane with integrity for 12-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/*************** u-plane with integrity for 18-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+};
+
+static uint32_t pdcp_test_data_in_len[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	16,
+
+	/****************** C-plane 12-bit SN ***********/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	66,
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	66,
+
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	17,
+	/* User Plane w/NULL enc. DL LONG SN */
+	17,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	71,
+
+	/***** u-plane with integrity for 12-bit SN *******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
+	66,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/***** u-plane with integrity for 18-bit SN *******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	67,
+};
+
+static uint8_t *pdcp_test_data_out[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
+
+	/************ C-plane 12-bit ****************************/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
+
+	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
+
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
+		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
+		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
+		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
+		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
+		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
+		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
+		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
+		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
+		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
+		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
+		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
+		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
+		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
+		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
+		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
+		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
+		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
+		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
+
+	/************************* 12-bit u-plane with int for 12-bit SN************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN  */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
+
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
+
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
+
+	/************************* 18-bit u-plane with int ************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x7F, 0x71, 0x17, 0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0x84, 0x45, 0xA8, 0x88},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0x33, 0x9B, 0x38, 0xF7},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xD9, 0x0B, 0x89, 0x7F},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0xB5, 0xD9, 0x5D, 0xE0},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xDA, 0xE9, 0x17, 0x96},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x2A, 0xAB, 0x0F, 0x24},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0xD7, 0xD6, 0x47, 0xF4},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x66, 0x41, 0x20, 0xBA},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x8A, 0x98, 0x66, 0x03},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xE0, 0x03, 0x45, 0xAD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x89, 0x7A, 0xF8, 0xEA},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN  */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xBE, 0x17, 0x81, 0xA1},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x1C, 0x50, 0xC0, 0xBD},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xF2, 0xFD, 0xAE, 0x3F},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x41, 0x1E, 0xE1, 0x4A},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x74, 0xBF, 0xCB, 0x28},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x42, 0xFC, 0x7F, 0xA3},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x3C, 0x13, 0x64, 0xB1},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xE1, 0x52, 0x5E, 0x6B},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x70, 0xF9, 0x4B, 0x2F},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBC, 0x1C, 0x7F, 0x9C},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xF6, 0xBB, 0x2E, 0x38},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBF, 0xFE, 0xE1, 0x75},
+};
+
+#endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 0/7] Add PDCP test cases
  2019-09-03 16:49 [dpdk-dev] [PATCH] test/crypto: add PDCP vectors and cases Akhil Goyal
@ 2019-09-05 14:47 ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 1/7] test/crypto: Add PDCP cplane encap cases Akhil Goyal
                     ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

This patch add test vectors and a test framework for PDCP
cplane and uplane protocol processing based on various
sequence number sizes(5/7/12/15/18).

These test cases and test vectors are validated over NXP DPAA_SEC
and DPAA2_SEC platforms.

This patchset is a split to the patch [1] which was sent as RFC.

Further this patchset is dependent on [2]
[1] http://patches.dpdk.org/patch/58554/
[2] http://patches.dpdk.org/project/dpdk/list/?series=6199

Akhil Goyal (7):
  test/crypto: Add PDCP cplane encap cases
  test/crypto: Add PDCP cplane decap cases
  test/crypto: Add PDCP uplane encap cases
  test/crypto: Add PDCP uplane encap with integrity cases
  test/crypto: Add PDCP uplane decap cases
  test/crypto: Add PDCP cases for scatter gather bufs
  test/crypto: support wireless algos for dpaa2_sec

 app/test/Makefile                             |    1 +
 app/test/meson.build                          |    1 +
 app/test/test_cryptodev.c                     |  713 +-
 app/test/test_cryptodev_security_pdcp.c       |  590 ++
 .../test_cryptodev_security_pdcp_test_func.h  |   48 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 6323 +++++++++++++++++
 6 files changed, 7669 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp.c
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h

-- 
2.17.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 1/7] test/crypto: Add PDCP cplane encap cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 2/7] test/crypto: Add PDCP cplane decap cases Akhil Goyal
                     ` (8 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

PDCP control plane can support 5 bit and 12 bit
sequence number. This patch add test cases and test
vectors for all supported algo combinations of cipher+integrity
(NULL+NULL, NULL+AES, NULL+SNOW, NULL+ZUC,
 AES+NULL,  AES+SNOW, AES+AES,   AES+ZUC,
 SNOW+NULL, SNOW+AES, SNOW+SNOW, SNOW+ZUC,
 ZUC+NULL,  ZUC+AES,  ZUC+SNOW,  ZUC+ZUC).

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/Makefile                             |    1 +
 app/test/meson.build                          |    1 +
 app/test/test_cryptodev.c                     |  221 +-
 app/test/test_cryptodev_security_pdcp.c       |  141 +
 .../test_cryptodev_security_pdcp_test_func.h  |   36 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 2491 +++++++++++++++++
 6 files changed, 2884 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp.c
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h

diff --git a/app/test/Makefile b/app/test/Makefile
index 26ba6fe2b..df7f77f44 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -196,6 +196,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
+SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
 
 SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
 
diff --git a/app/test/meson.build b/app/test/meson.build
index ec40943bd..2c23c6347 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -30,6 +30,7 @@ test_sources = files('commands.c',
 	'test_cryptodev.c',
 	'test_cryptodev_asym.c',
 	'test_cryptodev_blockcipher.c',
+	'test_cryptodev_security_pdcp.c',
 	'test_cycles.c',
 	'test_debug.c',
 	'test_distributor.c',
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 4197febb0..852ca5cbe 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -38,6 +38,10 @@
 #include "test_cryptodev_zuc_test_vectors.h"
 #include "test_cryptodev_aead_test_vectors.h"
 #include "test_cryptodev_hmac_test_vectors.h"
+#ifdef RTE_LIBRTE_SECURITY
+#include "test_cryptodev_security_pdcp_test_vectors.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+#endif
 
 #define VDEV_ARGS_SIZE 100
 #define MAX_NB_SESSIONS 4
@@ -65,8 +69,11 @@ struct crypto_unittest_params {
 	struct rte_crypto_sym_xform auth_xform;
 	struct rte_crypto_sym_xform aead_xform;
 
-	struct rte_cryptodev_sym_session *sess;
-
+	union {
+		struct rte_cryptodev_sym_session *sess;
+		struct rte_security_session *sec_session;
+	};
+	enum rte_security_session_action_type type;
 	struct rte_crypto_op *op;
 
 	struct rte_mbuf *obuf, *ibuf;
@@ -566,11 +573,21 @@ ut_teardown(void)
 	struct rte_cryptodev_stats stats;
 
 	/* free crypto session structure */
-	if (ut_params->sess) {
-		rte_cryptodev_sym_session_clear(ts_params->valid_devs[0],
-				ut_params->sess);
-		rte_cryptodev_sym_session_free(ut_params->sess);
-		ut_params->sess = NULL;
+	if (ut_params->type == RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL) {
+		if (ut_params->sec_session) {
+			rte_security_session_destroy(rte_cryptodev_get_sec_ctx
+						(ts_params->valid_devs[0]),
+						ut_params->sec_session);
+			ut_params->sec_session = NULL;
+		}
+	} else {
+		if (ut_params->sess) {
+			rte_cryptodev_sym_session_clear(
+					ts_params->valid_devs[0],
+					ut_params->sess);
+			rte_cryptodev_sym_session_free(ut_params->sess);
+			ut_params->sess = NULL;
+		}
 	}
 
 	/* free crypto operation structure */
@@ -7021,6 +7038,188 @@ test_authenticated_encryption(const struct aead_test_data *tdata)
 
 }
 
+#define IN_PLACE	0
+#define OUT_OF_PLACE	1
+
+#ifdef RTE_LIBRTE_SECURITY
+/* Basic algorithm run function for async inplace mode.
+ * Creates a session from input parameters and runs one operation
+ * on input_vec. Checks the output of the crypto operation against
+ * output_vec.
+ */
+static int
+test_pdcp_proto(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	int ret = TEST_SUCCESS;
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  input_vec_len);
+	memcpy(plaintext, input_vec, input_vec_len);
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, output_vec_len);
+	}
+
+	/* Set crypto type as IPSEC */
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+
+	if (memcmp(ciphertext, output_vec, output_vec_len)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, output_vec_len);
+		rte_hexdump(stdout, "reference", output_vec, output_vec_len);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
+int
+test_pdcp_proto_cplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]+4);
+}
+
+#endif
+
 static int
 test_AES_GCM_authenticated_encryption_test_case_1(void)
 {
@@ -11433,6 +11632,10 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			     test_authonly_dpaa_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
@@ -11538,6 +11741,10 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_authonly_dpaa2_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
new file mode 100644
index 000000000..d79dd9055
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -0,0 +1,141 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#include <time.h>
+
+#include <rte_common.h>
+#include <rte_hexdump.h>
+#include <rte_mbuf.h>
+#include <rte_malloc.h>
+#include <rte_memcpy.h>
+#include <rte_pause.h>
+#include <rte_bus_vdev.h>
+#include <rte_byteorder.h>
+
+#include <rte_crypto.h>
+#include <rte_cryptodev.h>
+#include <rte_cryptodev_pmd.h>
+#include <rte_security.h>
+
+#include <rte_lcore.h>
+#include "test.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+
+static int cplane_encap(uint32_t sn_size, uint8_t dir,
+			enum enc_alg_off enc_alg_off,
+			enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_encap(i);
+}
+
+#define TEST_PDCP_COUNT(func) do {			\
+	if (func == TEST_SUCCESS)  {			\
+		printf("\t%d)", n++);			\
+		printf(#func"-PASS\n");			\
+		i++;					\
+	} else {					\
+		printf("\t%d)", n++);			\
+		printf("+++++ FAILED:" #func"\n");	\
+	}						\
+} while (0)
+
+int
+test_PDCP_PROTO_cplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 12-bit SN */
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
+
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
new file mode 100644
index 000000000..ad1e7c70a
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_FUNC_H_
+#define SECURITY_PDCP_TEST_FUNC_H_
+
+#define PDCP_CPLANE_OFFSET		0
+#define PDCP_CPLANE_LONG_SN_OFFSET	32
+#define LONG_SEQ_NUM_OFFSET		0
+#define SHORT_SEQ_NUM_OFFSET		2
+#define FIFTEEN_BIT_SEQ_NUM_OFFSET	4
+#define EIGHTEEN_BIT_SEQ_NUM_OFFSET	6
+#define UPLINK				0
+#define DOWNLINK			1
+/* key length(in bytes) for F8 */
+#define F8_KEY_LEN			16
+
+enum enc_alg_off {
+	NULL_ENC = 0,
+	SNOW_ENC = 8,
+	AES_ENC = 16,
+	ZUC_ENC = 24
+};
+enum auth_alg_off {
+	NULL_AUTH = 0,
+	SNOW_AUTH = 2,
+	AES_AUTH = 4,
+	ZUC_AUTH = 6
+};
+
+int test_pdcp_proto_cplane_encap(int i);
+
+int test_PDCP_PROTO_cplane_encap_all(void);
+
+#endif /* SECURITY_PDCP_TEST_FUNC_H_ */
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
new file mode 100644
index 000000000..8476a61f7
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -0,0 +1,2491 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_VECTOR_H_
+#define SECURITY_PDCP_TEST_VECTOR_H_
+
+#include <rte_security.h>
+
+/*
+ * PDCP test vectors and related structures.
+ */
+enum pdcp_dir {
+	PDCP_DIR_UPLINK = 0,
+	PDCP_DIR_DOWNLINK = 1,
+	PDCP_DIR_INVALID
+};
+
+struct pdcp_test_param {
+	uint8_t type;
+	enum rte_security_pdcp_domain domain;
+	enum rte_crypto_cipher_algorithm cipher_alg;
+	uint8_t cipher_key_len;
+	enum rte_crypto_auth_algorithm auth_alg;
+	uint8_t auth_key_len;
+	const char *name;
+};
+
+static struct pdcp_test_param pdcp_test_params[] = {
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+
+	 /* For 12-bit C-plane */
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+};
+
+static uint32_t pdcp_test_hfn[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa557,
+
+	/* For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x01,
+
+	/* 12-bit C-plane ends ***********************/
+};
+
+static uint32_t pdcp_test_hfn_threshold[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa558,
+
+	/*********** For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x70C0A,
+};
+
+static uint8_t pdcp_test_bearer[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x03,
+
+	/************** For 12-bit C-plane ********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x16,
+};
+
+static uint8_t pdcp_test_packet_direction[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+
+	/***************** For 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+};
+
+static uint8_t pdcp_test_data_sn_size[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	5,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	5,
+
+	/*************** 12 bit SN for C-plane **************************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	12,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	12,
+	/*************** 12 bit SN for C-plane end **************************/
+};
+
+static uint8_t *pdcp_test_crypto_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+
+	/*********** C-plane 12-bit **************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+};
+
+static uint8_t *pdcp_test_auth_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+
+	/********* 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+};
+
+static uint8_t *pdcp_test_data_in[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+
+	/*************** 12-bit C-plane ****************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+};
+
+static uint32_t pdcp_test_data_in_len[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	16,
+
+	/****************** C-plane 12-bit SN ***********/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	66,
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	66,
+
+};
+
+static uint8_t *pdcp_test_data_out[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
+
+	/************ C-plane 12-bit ****************************/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
+
+	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
+
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
+
+};
+
+#endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 2/7] test/crypto: Add PDCP cplane decap cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 1/7] test/crypto: Add PDCP cplane encap cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 3/7] test/crypto: Add PDCP uplane encap cases Akhil Goyal
                     ` (7 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

This patch add test cases for control plane PDCP
5 and 12 bit SN test cases for decapsulation of
cipher+integrity for all algo combinations

Test vectors are reused from the encap cases
by swapping the input and output data.

The case are added to DPAA_SEC and DPAA2_SEC testsuite.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/test_cryptodev.c                     |  18 +++
 app/test/test_cryptodev_security_pdcp.c       | 105 ++++++++++++++++++
 .../test_cryptodev_security_pdcp_test_func.h  |   2 +
 3 files changed, 125 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 852ca5cbe..14a090667 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7218,6 +7218,18 @@ test_pdcp_proto_cplane_encap(int i)
 		pdcp_test_data_in_len[i]+4);
 }
 
+int
+test_pdcp_proto_cplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
 #endif
 
 static int
@@ -11635,6 +11647,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 #ifdef RTE_LIBRTE_SECURITY
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11744,6 +11759,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 #ifdef RTE_LIBRTE_SECURITY
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index d79dd9055..f69a4db69 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -48,6 +48,31 @@ static int cplane_encap(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_cplane_encap(i);
 }
 
+static int
+cplane_decap(uint32_t sn_size, uint8_t dir,
+	     enum enc_alg_off enc_alg_off,
+	     enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_decap(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -139,3 +164,83 @@ test_PDCP_PROTO_cplane_encap_all(void)
 	return n - i;
 };
 
+int
+test_PDCP_PROTO_cplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* C-plane 12-bit */
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
+
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index ad1e7c70a..21a6e8a48 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -30,7 +30,9 @@ enum auth_alg_off {
 };
 
 int test_pdcp_proto_cplane_encap(int i);
+int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
+int test_PDCP_PROTO_cplane_decap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 3/7] test/crypto: Add PDCP uplane encap cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 1/7] test/crypto: Add PDCP cplane encap cases Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 2/7] test/crypto: Add PDCP cplane decap cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 4/7] test/crypto: Add PDCP uplane encap with integrity cases Akhil Goyal
                     ` (6 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

PDCP User/Data plane can support 5/7/12/15/18 bit
sequence number. This patch add test cases and test
vectors for all supported algos for cipher only.
(NULL, AES, SNOW, ZUC ciphers)

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/test_cryptodev.c                     |   19 +
 app/test/test_cryptodev_security_pdcp.c       |   72 ++
 .../test_cryptodev_security_pdcp_test_func.h  |    6 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 1113 +++++++++++++++++
 4 files changed, 1210 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 14a090667..20d410814 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7218,6 +7218,19 @@ test_pdcp_proto_cplane_encap(int i)
 		pdcp_test_data_in_len[i]+4);
 }
 
+int
+test_pdcp_proto_uplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]);
+
+}
+
 int
 test_pdcp_proto_cplane_decap(int i)
 {
@@ -11650,6 +11663,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11762,6 +11778,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index f69a4db69..7c8204208 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -73,6 +73,32 @@ cplane_decap(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_cplane_decap(i);
 }
 
+static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -244,3 +270,49 @@ test_PDCP_PROTO_cplane_decap_all(void)
 	return n - i;
 };
 
+int
+test_PDCP_PROTO_uplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 21a6e8a48..7051790c8 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -7,6 +7,7 @@
 
 #define PDCP_CPLANE_OFFSET		0
 #define PDCP_CPLANE_LONG_SN_OFFSET	32
+#define PDCP_UPLANE_OFFSET		64
 #define LONG_SEQ_NUM_OFFSET		0
 #define SHORT_SEQ_NUM_OFFSET		2
 #define FIFTEEN_BIT_SEQ_NUM_OFFSET	4
@@ -16,6 +17,9 @@
 /* key length(in bytes) for F8 */
 #define F8_KEY_LEN			16
 
+#define PDCP_UPLANE_12BIT_OFFSET	(PDCP_UPLANE_OFFSET + 32)
+#define PDCP_UPLANE_18BIT_OFFSET	(PDCP_UPLANE_12BIT_OFFSET + 32)
+
 enum enc_alg_off {
 	NULL_ENC = 0,
 	SNOW_ENC = 8,
@@ -30,9 +34,11 @@ enum auth_alg_off {
 };
 
 int test_pdcp_proto_cplane_encap(int i);
+int test_pdcp_proto_uplane_encap(int i);
 int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
 int test_PDCP_PROTO_cplane_decap_all(void);
+int test_PDCP_PROTO_uplane_encap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
index 8476a61f7..1c6e5f83c 100644
--- a/app/test/test_cryptodev_security_pdcp_test_vectors.h
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -605,6 +605,294 @@ static struct pdcp_test_param pdcp_test_params[] = {
 	 .cipher_key_len = 16,
 	 .auth_key_len = 16,
 	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
 };
 
 static uint32_t pdcp_test_hfn[] = {
@@ -740,6 +1028,72 @@ static uint32_t pdcp_test_hfn[] = {
 	0x01,
 
 	/* 12-bit C-plane ends ***********************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x01,
+
 };
 
 static uint32_t pdcp_test_hfn_threshold[] = {
@@ -873,6 +1227,72 @@ static uint32_t pdcp_test_hfn_threshold[] = {
 	0x70C0A,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	0x70C0A,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x00002195,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	0x00002195,
+
 };
 
 static uint8_t pdcp_test_bearer[] = {
@@ -1006,6 +1426,72 @@ static uint8_t pdcp_test_bearer[] = {
 	0x16,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	0x16,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x16,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x16,
+
 };
 
 static uint8_t pdcp_test_packet_direction[] = {
@@ -1139,6 +1625,72 @@ static uint8_t pdcp_test_packet_direction[] = {
 	PDCP_DIR_UPLINK,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	PDCP_DIR_DOWNLINK,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL for 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL for 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+
 };
 
 static uint8_t pdcp_test_data_sn_size[] = {
@@ -1273,6 +1825,72 @@ static uint8_t pdcp_test_data_sn_size[] = {
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	12,
 	/*************** 12 bit SN for C-plane end **************************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	12,
+	/* User Plane w/NULL enc. DL LONG SN */
+	12,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	18,
+
 };
 
 static uint8_t *pdcp_test_crypto_key[] = {
@@ -1466,6 +2084,101 @@ static uint8_t *pdcp_test_crypto_key[] = {
 	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
 		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
 };
 
 static uint8_t *pdcp_test_auth_key[] = {
@@ -1658,6 +2371,71 @@ static uint8_t *pdcp_test_auth_key[] = {
 	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
 		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. DL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	NULL,
+
 };
 
 static uint8_t *pdcp_test_data_in[] = {
@@ -1987,6 +2765,143 @@ static uint8_t *pdcp_test_data_in[] = {
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+
 };
 
 static uint32_t pdcp_test_data_in_len[] = {
@@ -2124,6 +3039,72 @@ static uint32_t pdcp_test_data_in_len[] = {
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	66,
 
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	17,
+	/* User Plane w/NULL enc. DL LONG SN */
+	17,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	71,
+
 };
 
 static uint8_t *pdcp_test_data_out[] = {
@@ -2486,6 +3467,138 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
+		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
+		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
+		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
+		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
+		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
+		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
+		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
+		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
+		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
+		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
+		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
+		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
+		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
+		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
+		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
+		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
+		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
+		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
+
 };
 
 #endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 4/7] test/crypto: Add PDCP uplane encap with integrity cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (2 preceding siblings ...)
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 3/7] test/crypto: Add PDCP uplane encap cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 5/7] test/crypto: Add PDCP uplane decap cases Akhil Goyal
                     ` (5 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

PDCP User/Data plane can optionally support integrity
along with confidentiality.
This patch add test cases and test vectors for all
supported algos combos for cipher+integrity for 12
and 18bit SN.

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/test_cryptodev.c                     |   12 +
 app/test/test_cryptodev_security_pdcp.c       |   99 +
 .../test_cryptodev_security_pdcp_test_func.h  |    1 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 4079 ++++++++++++++---
 4 files changed, 3511 insertions(+), 680 deletions(-)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 20d410814..aa8602f94 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7231,6 +7231,18 @@ test_pdcp_proto_uplane_encap(int i)
 
 }
 
+int
+test_pdcp_proto_uplane_encap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4);
+}
+
 int
 test_pdcp_proto_cplane_decap(int i)
 {
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index 7c8204208..e1ba2bf6e 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -99,6 +99,31 @@ static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap(i);
 }
 
+static int
+uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap_with_int(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -311,6 +336,80 @@ test_PDCP_PROTO_uplane_encap_all(void)
 	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, ZUC_ENC));
 	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, ZUC_ENC));
 
+	/* For 12-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 18-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
 	if (n - i)
 		printf("## %s: %d passed out of %d\n", __func__, i, n);
 
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 7051790c8..473cdaecc 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -35,6 +35,7 @@ enum auth_alg_off {
 
 int test_pdcp_proto_cplane_encap(int i);
 int test_pdcp_proto_uplane_encap(int i);
+int test_pdcp_proto_uplane_encap_with_int(int i);
 int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
index 1c6e5f83c..703076479 100644
--- a/app/test/test_cryptodev_security_pdcp_test_vectors.h
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -893,6 +893,585 @@ static struct pdcp_test_param pdcp_test_params[] = {
 	 .cipher_key_len = 16,
 	 .auth_key_len = 0,
 	 },
+
+	 /********* 12-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	 /********* 18-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
 };
 
 static uint32_t pdcp_test_hfn[] = {
@@ -1094,6 +1673,137 @@ static uint32_t pdcp_test_hfn[] = {
 	/* User Plane w/ZUC enc. DL 18-bit SN */
 	0x01,
 
+	 /********* 12-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+
+	 /********* 18-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
 };
 
 static uint32_t pdcp_test_hfn_threshold[] = {
@@ -1274,25 +1984,157 @@ static uint32_t pdcp_test_hfn_threshold[] = {
 	0x000fa558,
 	/* User Plane w/AES CTR enc. UL 18-bit SN */
 	0x00000791,
-	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	0x00002195,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
 	0x00002195,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
 	0x00000791,
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
 	0x00002195,
-
 };
 
 static uint8_t pdcp_test_bearer[] = {
@@ -1492,6 +2334,141 @@ static uint8_t pdcp_test_bearer[] = {
 	/* User Plane w/ZUC enc. DL 18-bit SN */
 	0x16,
 
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+
 };
 
 static uint8_t pdcp_test_packet_direction[] = {
@@ -1691,6 +2668,139 @@ static uint8_t pdcp_test_packet_direction[] = {
 	/* User Plane w/ZUC enc. DL for 18-bit SN */
 	PDCP_DIR_DOWNLINK,
 
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
 };
 
 static uint8_t pdcp_test_data_sn_size[] = {
@@ -1840,57 +2950,189 @@ static uint8_t pdcp_test_data_sn_size[] = {
 	15,
 	/* User Plane w/NULL enc. UL 18 BIT SN */
 	18,
-	/* User Plane w/NULL enc. DL 18 BIT SN */
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	18,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	12,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	12,
-	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	12,
-	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	7,
-	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	7,
-	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/AES CTR enc. UL LONG SN */
-	12,
-	/* User Plane w/AES CTR enc. DL LONG SN */
-	12,
-	/* User Plane w/AES CTR enc. UL SHORT SN */
-	7,
-	/* User Plane w/AES CTR enc. DL SHORT SN */
-	7,
-	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	12,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	12,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	7,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	7,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
 	18,
-
 };
 
 static uint8_t *pdcp_test_crypto_key[] = {
@@ -2179,6 +3421,188 @@ static uint8_t *pdcp_test_crypto_key[] = {
 	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
 		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 
+	/******* u-plane for 12-bit SN ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/******* u-plane for 18-bit SN with integrity ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 };
 
 static uint8_t *pdcp_test_auth_key[] = {
@@ -2425,17 +3849,200 @@ static uint8_t *pdcp_test_auth_key[] = {
 	NULL,
 	/* User Plane w/ZUC enc. UL SHORT SN */
 	NULL,
-	/* User Plane w/ZUC enc. DL SHORT SN */
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	NULL,
+
+	/***** u-plane with integrity for 12-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/***** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
 };
 
 static uint8_t *pdcp_test_data_in[] = {
@@ -2514,699 +4121,1714 @@ static uint8_t *pdcp_test_data_in[] = {
 	/* Control Plane w/ZUC enc. + NULL int. UL */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + NULL int. DL */
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+
+	/*************** 12-bit C-plane ****************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	/* User Plane w/AES CTR enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	/* User Plane w/ZUC enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
 
-	/*************** 12-bit C-plane ****************/
-	/* Control Plane w/NULL enc. + NULL int. UL */
+	/*************** u-plane with integrity for 12-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + NULL int. DL */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + ZUC int. UL */
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + ZUC int. DL */
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/*************** u-plane with integrity for 18-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+};
+
+static uint32_t pdcp_test_data_in_len[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	16,
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	16,
+
+	/****************** C-plane 12-bit SN ***********/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	66,
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	66,
 
 	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 
 	/* Control Plane w/ZUC enc. + NULL int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + NULL int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
+
 
 	/* User Plane w/NULL enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/NULL enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/NULL enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/SNOW enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/SNOW enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/AES CTR enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/AES CTR enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/AES enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/AES enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/ZUC enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/ZUC enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	71,
+
+	/***** u-plane with integrity for 12-bit SN *******/
 
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
+	66,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/***** u-plane with integrity for 18-bit SN *******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	67,
 };
 
-static uint32_t pdcp_test_data_in_len[] = {
+static uint8_t *pdcp_test_data_out[] = {
 	/* Control Plane w/NULL enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
 	/* Control Plane w/NULL enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
 	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
 	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
 	/* Control Plane w/NULL enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
 	/* Control Plane w/NULL enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
 	/* Control Plane w/NULL enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
 	/* Control Plane w/NULL enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
 	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
 	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
 	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
 	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
 	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
 	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
 	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
 	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
 	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
 	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
 	/* Control Plane w/ZUC enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
 	/* Control Plane w/ZUC enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
 	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
 	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
 	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
 	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
 	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
 
-	/****************** C-plane 12-bit SN ***********/
+	/************ C-plane 12-bit ****************************/
 	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
 	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
 	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
 	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
 	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
 	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
 
 	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
 	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
-	66,
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
 
-	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	66,
+	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
 
-	/* Control Plane w/ZUC enc. + NULL int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + NULL int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	66,
+	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
 
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
 	/* User Plane w/NULL enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. UL 15 BIT SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/NULL enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/NULL enc. DL 18 BIT SN */
-	71,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
 	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
+		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
 	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
+		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
 	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
+		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
 	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
+		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
 	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
+		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
 	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
-	71,
+	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
+		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
 	/* User Plane w/AES CTR enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
+		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
 	/* User Plane w/AES CTR enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
+		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
 	/* User Plane w/AES CTR enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
+		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
 	/* User Plane w/AES CTR enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
+		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
 	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	17,
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/AES CTR enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/AES CTR enc. DL 18 BIT SN */
-	71,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	17,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	17,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	16,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	16,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	17,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
-	71,
-
-};
-
-static uint8_t *pdcp_test_data_out[] = {
-	/* Control Plane w/NULL enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
-	/* Control Plane w/NULL enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
-	/* Control Plane w/NULL enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
-	/* Control Plane w/NULL enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
-	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
-	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
-	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
-	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
-	/* Control Plane w/ZUC enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
-	/* Control Plane w/ZUC enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
+	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
+		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
+		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
+		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
+		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
+		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
+		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
+		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
+		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
 
-	/************ C-plane 12-bit ****************************/
-	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	/************************* 12-bit u-plane with int ************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3214,7 +5836,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3222,7 +5844,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3230,7 +5852,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3238,7 +5860,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3246,7 +5868,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3254,7 +5876,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
-	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3262,7 +5884,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
-	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3271,7 +5893,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
 
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3279,7 +5901,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3287,7 +5909,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3295,7 +5917,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3303,7 +5925,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3311,7 +5933,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3319,7 +5941,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3327,7 +5949,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3335,8 +5957,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
-
-	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN  */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3345,7 +5966,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
 
-	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3353,7 +5974,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3362,7 +5983,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
 
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3370,7 +5991,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3378,7 +5999,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3386,7 +6007,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
-	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3394,7 +6015,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
-	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3402,7 +6023,8 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
-	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3410,7 +6032,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
-	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3418,7 +6040,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3426,7 +6048,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3434,7 +6056,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3442,7 +6064,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3450,7 +6072,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
-	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3458,7 +6080,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
-	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3467,25 +6089,8 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
-	/* User Plane w/NULL enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	/************************* 18-bit u-plane with int ************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
 		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
 		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
@@ -3493,7 +6098,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
 		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
 		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
 		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
 		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
@@ -3501,25 +6106,50 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
 		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
 		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
-		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
-	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
-		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
-	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
-		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
-	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
-		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
-	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
-		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
-	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
-		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
-	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x7F, 0x71, 0x17, 0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0x84, 0x45, 0xA8, 0x88},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0x33, 0x9B, 0x38, 0xF7},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xD9, 0x0B, 0x89, 0x7F},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0xB5, 0xD9, 0x5D, 0xE0},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xDA, 0xE9, 0x17, 0x96},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
 		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
 		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
@@ -3527,78 +6157,167 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
 		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
 		    0x31, 0x55, 0xDA, 0x18, 0x4D},
-	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
 		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
 		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
 		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
 		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
 		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
-	/* User Plane w/AES CTR enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
-		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
-	/* User Plane w/AES CTR enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
-		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
-	/* User Plane w/AES CTR enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
-		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
-	/* User Plane w/AES CTR enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
-		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
-	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
-		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
-		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
-	/* User Plane w/AES enc. UL for 18-bit SN*/
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x2A, 0xAB, 0x0F, 0x24},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0xD7, 0xD6, 0x47, 0xF4},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x66, 0x41, 0x20, 0xBA},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x8A, 0x98, 0x66, 0x03},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xE0, 0x03, 0x45, 0xAD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x89, 0x7A, 0xF8, 0xEA},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN  */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
 		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
 		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
 		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
 		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
 		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
-	/* User Plane w/AES enc. DL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
 		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
 		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
 		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
 		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
 		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
-	/* User Plane w/ZUC enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
-		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
-	/* User Plane w/ZUC enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
-		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
-		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
-		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
-		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
-		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xBE, 0x17, 0x81, 0xA1},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x1C, 0x50, 0xC0, 0xBD},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xF2, 0xFD, 0xAE, 0x3F},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x41, 0x1E, 0xE1, 0x4A},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x74, 0xBF, 0xCB, 0x28},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x42, 0xFC, 0x7F, 0xA3},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
 		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
 		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
 		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
 		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
 		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
 		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
 		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
 		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
 		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
 		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
-
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x3C, 0x13, 0x64, 0xB1},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xE1, 0x52, 0x5E, 0x6B},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x70, 0xF9, 0x4B, 0x2F},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBC, 0x1C, 0x7F, 0x9C},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xF6, 0xBB, 0x2E, 0x38},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBF, 0xFE, 0xE1, 0x75},
 };
 
 #endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 5/7] test/crypto: Add PDCP uplane decap cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (3 preceding siblings ...)
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 4/7] test/crypto: Add PDCP uplane encap with integrity cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 6/7] test/crypto: Add PDCP cases for scatter gather bufs Akhil Goyal
                     ` (4 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

This patch add test cases for user plane PDCP
5/7/12/15/18 bit SN test cases for decapsulation of
cipher only and 12/18 bit for cipher + integrity
for all algo combinations.

Test vectors are reused from the encap cases
by swapping the input and output data.

The case are added to DPAA_SEC and DPAA2_SEC
testsuite.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 app/test/test_cryptodev.c                     |  30 +++
 app/test/test_cryptodev_security_pdcp.c       | 173 ++++++++++++++++++
 .../test_cryptodev_security_pdcp_test_func.h  |   3 +
 3 files changed, 206 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index aa8602f94..837969430 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7255,6 +7255,30 @@ test_pdcp_proto_cplane_decap(int i)
 		pdcp_test_data_in_len[i]);
 }
 
+int
+test_pdcp_proto_uplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
+int
+test_pdcp_proto_uplane_decap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
 #endif
 
 static int
@@ -11678,6 +11702,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11793,6 +11820,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index e1ba2bf6e..30f3eb892 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -99,6 +99,33 @@ static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap(i);
 }
 
+static int
+uplane_decap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap(i);
+}
+
 static int
 uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
 		enum enc_alg_off enc_alg_off,
@@ -124,6 +151,31 @@ uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap_with_int(i);
 }
 
+static int
+uplane_decap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap_with_int(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -415,3 +467,124 @@ test_PDCP_PROTO_uplane_encap_all(void)
 
 	return n - i;
 };
+
+int
+test_PDCP_PROTO_uplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	/* u-plane 12-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* u-plane 18-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 473cdaecc..f3dc93e2f 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -37,9 +37,12 @@ int test_pdcp_proto_cplane_encap(int i);
 int test_pdcp_proto_uplane_encap(int i);
 int test_pdcp_proto_uplane_encap_with_int(int i);
 int test_pdcp_proto_cplane_decap(int i);
+int test_pdcp_proto_uplane_decap(int i);
+int test_pdcp_proto_uplane_decap_with_int(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
 int test_PDCP_PROTO_cplane_decap_all(void);
 int test_PDCP_PROTO_uplane_encap_all(void);
+int test_PDCP_PROTO_uplane_decap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 6/7] test/crypto: Add PDCP cases for scatter gather bufs
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (4 preceding siblings ...)
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 5/7] test/crypto: Add PDCP uplane decap cases Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 7/7] test/crypto: support wireless algos for dpaa2_sec Akhil Goyal
                     ` (3 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

Test cases for PDCP with scattered input and output
buffers are added for both inplace and out of place scenarios.
1. input SG - output non SG
2. input and output both SG and inplace buffers
3. input and output both SG with different segment sizes
4. input SG and output non-SG

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 app/test/test_cryptodev.c | 349 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 349 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 837969430..568fa84a9 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7206,6 +7206,276 @@ test_pdcp_proto(int i, int oop,
 	return ret;
 }
 
+static int
+test_pdcp_proto_SGL(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len,
+	uint32_t fragsz,
+	uint32_t fragsz_oop)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	struct rte_mbuf *buf, *buf_oop = NULL;
+	int ret = TEST_SUCCESS;
+	int to_trn = 0;
+	int to_trn_tbl[16];
+	int segs = 1;
+	unsigned int trn_data = 0;
+
+	if (fragsz > input_vec_len)
+		fragsz = input_vec_len;
+
+	uint16_t plaintext_len = fragsz;
+	uint16_t frag_size_oop = fragsz_oop ? fragsz_oop : fragsz;
+
+	if (fragsz_oop > output_vec_len)
+		frag_size_oop = output_vec_len;
+
+	int ecx = 0;
+	if (input_vec_len % fragsz != 0) {
+		if (input_vec_len / fragsz + 1 > 16)
+			return 1;
+	} else if (input_vec_len / fragsz > 16)
+		return 1;
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, frag_size_oop);
+		buf_oop = ut_params->obuf;
+	}
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  plaintext_len);
+	memcpy(plaintext, input_vec, plaintext_len);
+	trn_data += plaintext_len;
+
+	buf = ut_params->ibuf;
+
+	/*
+	 * Loop until no more fragments
+	 */
+
+	while (trn_data < input_vec_len) {
+		++segs;
+		to_trn = (input_vec_len - trn_data < fragsz) ?
+				(input_vec_len - trn_data) : fragsz;
+
+		to_trn_tbl[ecx++] = to_trn;
+
+		buf->next = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		buf = buf->next;
+
+		memset(rte_pktmbuf_mtod(buf, uint8_t *), 0,
+				rte_pktmbuf_tailroom(buf));
+
+		/* OOP */
+		if (oop && !fragsz_oop) {
+			buf_oop->next =
+					rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+		}
+
+		plaintext = (uint8_t *)rte_pktmbuf_append(buf,
+				to_trn);
+
+		memcpy(plaintext, input_vec + trn_data, to_trn);
+		trn_data += to_trn;
+	}
+
+	ut_params->ibuf->nb_segs = segs;
+
+	segs = 1;
+	if (fragsz_oop && oop) {
+		to_trn = 0;
+		ecx = 0;
+
+		trn_data = frag_size_oop;
+		while (trn_data < output_vec_len) {
+			++segs;
+			to_trn =
+				(output_vec_len - trn_data <
+						frag_size_oop) ?
+				(output_vec_len - trn_data) :
+						frag_size_oop;
+
+			to_trn_tbl[ecx++] = to_trn;
+
+			buf_oop->next =
+				rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+
+			trn_data += to_trn;
+		}
+		ut_params->obuf->nb_segs = segs;
+	}
+
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+	if (fragsz_oop)
+		fragsz = frag_size_oop;
+	if (memcmp(ciphertext, output_vec, fragsz)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, fragsz);
+		rte_hexdump(stdout, "reference", output_vec, fragsz);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	buf = ut_params->op->sym->m_src->next;
+	if (oop)
+		buf = ut_params->op->sym->m_dst->next;
+
+	unsigned int off = fragsz;
+
+	ecx = 0;
+	while (buf) {
+		ciphertext = rte_pktmbuf_mtod(buf,
+				uint8_t *);
+		if (memcmp(ciphertext, output_vec + off, to_trn_tbl[ecx])) {
+			printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+			rte_hexdump(stdout, "encrypted", ciphertext, to_trn_tbl[ecx]);
+			rte_hexdump(stdout, "reference", output_vec + off, to_trn_tbl[ecx]);
+			ret = TEST_FAILED;
+			goto on_err;
+		}
+		off += to_trn_tbl[ecx++];
+		buf = buf->next;
+	}
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
 int
 test_pdcp_proto_cplane_encap(int i)
 {
@@ -7279,6 +7549,67 @@ test_pdcp_proto_uplane_decap_with_int(int i)
 		pdcp_test_data_in_len[i]);
 }
 
+static int
+test_PDCP_PROTO_SGL_in_place_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 12-bit AES-SNOW DL encap */
+	int i = PDCP_UPLANE_12BIT_OFFSET + AES_ENC + SNOW_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, IN_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 0);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_128B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit NULL-NULL DL encap */
+	int i = PDCP_UPLANE_18BIT_OFFSET + NULL_ENC + NULL_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 128);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_40B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit AES DL encap */
+	int i = PDCP_UPLANE_OFFSET + AES_ENC + EIGHTEEN_BIT_SEQ_NUM_OFFSET
+			+ DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i],
+			32, 40);
+}
+static int
+test_PDCP_PROTO_SGL_oop_128B_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is cplane 12-bit AES-ZUC DL encap */
+	int i = PDCP_CPLANE_LONG_SN_OFFSET + AES_ENC + ZUC_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			128, 32);
+}
 #endif
 
 static int
@@ -11705,6 +12036,15 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11823,6 +12163,15 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH 7/7] test/crypto: support wireless algos for dpaa2_sec
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (5 preceding siblings ...)
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 6/7] test/crypto: Add PDCP cases for scatter gather bufs Akhil Goyal
@ 2019-09-05 14:47   ` Akhil Goyal
  2019-09-19 15:23   ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (2 subsequent siblings)
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-05 14:47 UTC (permalink / raw)
  To: dev
  Cc: hemant.agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, vakul.garg, Akhil Goyal

SNOW and ZUC plain crypto operations for cipher only
and auth only are now supported in dpaa2_sec.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 app/test/test_cryptodev.c | 64 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 568fa84a9..f9fc2d44d 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -12285,6 +12285,70 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_auth_encrypt_SGL_out_of_place_1500B_2000B),
 
+		/** SNOW 3G encrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop_sgl),
+
+		/** SNOW 3G decrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_3),
+
+		/** ZUC encrypt only (EEA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_5),
+
+		/** ZUC authenticate (EIA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_6),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_7),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_8),
+
 		TEST_CASES_END() /**< NULL terminate unit test array */
 	}
 };
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH 0/7] Add PDCP test cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (6 preceding siblings ...)
  2019-09-05 14:47   ` [dpdk-dev] [PATCH 7/7] test/crypto: support wireless algos for dpaa2_sec Akhil Goyal
@ 2019-09-19 15:23   ` Akhil Goyal
  2019-09-30 10:44   ` Nipun Gupta
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
  9 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-19 15:23 UTC (permalink / raw)
  To: anoobj, konstantin.ananyev
  Cc: Hemant Agrawal, jerinj, declan.doherty, Vakul Garg, dev

Hi Anoob, Konstantin,

Any comments on this patchset.

Regards,
Akhil
> 
> This patch add test vectors and a test framework for PDCP
> cplane and uplane protocol processing based on various
> sequence number sizes(5/7/12/15/18).
> 
> These test cases and test vectors are validated over NXP DPAA_SEC
> and DPAA2_SEC platforms.
> 
> This patchset is a split to the patch [1] which was sent as RFC.
> 
> Further this patchset is dependent on [2]
> [1]  http://patches.dpdk.org/patch/58554/
> [2] http://patches.dpdk.org/project/dpdk/list/?series=6199
> 
> Akhil Goyal (7):
>   test/crypto: Add PDCP cplane encap cases
>   test/crypto: Add PDCP cplane decap cases
>   test/crypto: Add PDCP uplane encap cases
>   test/crypto: Add PDCP uplane encap with integrity cases
>   test/crypto: Add PDCP uplane decap cases
>   test/crypto: Add PDCP cases for scatter gather bufs
>   test/crypto: support wireless algos for dpaa2_sec
> 
>  app/test/Makefile                             |    1 +
>  app/test/meson.build                          |    1 +
>  app/test/test_cryptodev.c                     |  713 +-
>  app/test/test_cryptodev_security_pdcp.c       |  590 ++
>  .../test_cryptodev_security_pdcp_test_func.h  |   48 +
>  ...est_cryptodev_security_pdcp_test_vectors.h | 6323
> +++++++++++++++++
>  6 files changed, 7669 insertions(+), 7 deletions(-)
>  create mode 100644 app/test/test_cryptodev_security_pdcp.c
>  create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
>  create mode 100644
> app/test/test_cryptodev_security_pdcp_test_vectors.h
> 
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH 0/7] Add PDCP test cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (7 preceding siblings ...)
  2019-09-19 15:23   ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
@ 2019-09-30 10:44   ` Nipun Gupta
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
  9 siblings, 0 replies; 20+ messages in thread
From: Nipun Gupta @ 2019-09-30 10:44 UTC (permalink / raw)
  To: Akhil Goyal, dev
  Cc: Hemant Agrawal, anoobj, jerinj, declan.doherty,
	konstantin.ananyev, Vakul Garg, Akhil Goyal

Series
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Akhil Goyal
> Sent: Thursday, September 5, 2019 8:18 PM
> To: dev@dpdk.org
> Cc: Hemant Agrawal <hemant.agrawal@nxp.com>; anoobj@marvell.com;
> jerinj@marvell.com; declan.doherty@intel.com;
> konstantin.ananyev@intel.com; Vakul Garg <vakul.garg@nxp.com>; Akhil
> Goyal <akhil.goyal@nxp.com>
> Subject: [dpdk-dev] [PATCH 0/7] Add PDCP test cases
> 
> This patch add test vectors and a test framework for PDCP
> cplane and uplane protocol processing based on various
> sequence number sizes(5/7/12/15/18).
> 
> These test cases and test vectors are validated over NXP DPAA_SEC
> and DPAA2_SEC platforms.
> 
> This patchset is a split to the patch [1] which was sent as RFC.
> 
> Further this patchset is dependent on [2]
> [1]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> es.dpdk.org%2Fpatch%2F58554%2F&amp;data=02%7C01%7Cnipun.gupta%4
> 0nxp.com%7Ceb1d916e4f6c41a31b7a08d732120ef2%7C686ea1d3bc2b4c6fa9
> 2cd99c5c301635%7C0%7C0%7C637032925451063511&amp;sdata=aFlt8cawf8f
> eLEe6ju3w3heRJUVlWSGzhPwHZwKQ2Tk%3D&amp;reserved=0
> [2]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> es.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D6199&amp;data=0
> 2%7C01%7Cnipun.gupta%40nxp.com%7Ceb1d916e4f6c41a31b7a08d732120ef
> 2%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63703292545107350
> 2&amp;sdata=f5IPo2%2F9mjrP1F4n%2FLzHKOEJOoCBBpR520oD0lchFxM%3D
> &amp;reserved=0
> 
> Akhil Goyal (7):
>   test/crypto: Add PDCP cplane encap cases
>   test/crypto: Add PDCP cplane decap cases
>   test/crypto: Add PDCP uplane encap cases
>   test/crypto: Add PDCP uplane encap with integrity cases
>   test/crypto: Add PDCP uplane decap cases
>   test/crypto: Add PDCP cases for scatter gather bufs
>   test/crypto: support wireless algos for dpaa2_sec
> 
>  app/test/Makefile                             |    1 +
>  app/test/meson.build                          |    1 +
>  app/test/test_cryptodev.c                     |  713 +-
>  app/test/test_cryptodev_security_pdcp.c       |  590 ++
>  .../test_cryptodev_security_pdcp_test_func.h  |   48 +
>  ...est_cryptodev_security_pdcp_test_vectors.h | 6323
> +++++++++++++++++
>  6 files changed, 7669 insertions(+), 7 deletions(-)
>  create mode 100644 app/test/test_cryptodev_security_pdcp.c
>  create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
>  create mode 100644
> app/test/test_cryptodev_security_pdcp_test_vectors.h
> 
> --
> 2.17.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 0/7] Add PDCP test cases
  2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
                     ` (8 preceding siblings ...)
  2019-09-30 10:44   ` Nipun Gupta
@ 2019-09-30 19:27   ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 1/7] test/crypto: add PDCP cplane encap cases Akhil Goyal
                       ` (7 more replies)
  9 siblings, 8 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal

This patch add test vectors and a test framework for PDCP
cplane and uplane protocol processing based on various
sequence number sizes(5/7/12/15/18).

These test cases and test vectors are validated over NXP DPAA_SEC
and DPAA2_SEC platforms.

This patchset is a split to the patch [1] which was sent as RFC.

Changes in v2:
fix checkpatch warnings

Further this patchset is dependent on [2]
[1] http://patches.dpdk.org/patch/58554/
[2] http://patches.dpdk.org/project/dpdk/list/?series=6623


Akhil Goyal (7):
  test/crypto: add PDCP cplane encap cases
  test/crypto: add PDCP cplane decap cases
  test/crypto: add PDCP uplane encap cases
  test/crypto: add PDCP uplane encap with integrity cases
  test/crypto: add PDCP uplane decap cases
  test/crypto: add PDCP cases for scatter gather bufs
  test/crypto: support wireless algos for dpaa2-sec

 app/test/Makefile                             |    1 +
 app/test/meson.build                          |    1 +
 app/test/test_cryptodev.c                     |  715 +-
 app/test/test_cryptodev_security_pdcp.c       |  590 ++
 .../test_cryptodev_security_pdcp_test_func.h  |   48 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 6323 +++++++++++++++++
 6 files changed, 7671 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp.c
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h

-- 
2.17.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 1/7] test/crypto: add PDCP cplane encap cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 2/7] test/crypto: add PDCP cplane decap cases Akhil Goyal
                       ` (6 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal, Vakul Garg

PDCP control plane can support 5 bit and 12 bit
sequence number. This patch add test cases and test
vectors for all supported algo combinations of cipher+integrity
(NULL+NULL, NULL+AES, NULL+SNOW, NULL+ZUC,
 AES+NULL,  AES+SNOW, AES+AES,   AES+ZUC,
 SNOW+NULL, SNOW+AES, SNOW+SNOW, SNOW+ZUC,
 ZUC+NULL,  ZUC+AES,  ZUC+SNOW,  ZUC+ZUC).

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/Makefile                             |    1 +
 app/test/meson.build                          |    1 +
 app/test/test_cryptodev.c                     |  218 +-
 app/test/test_cryptodev_security_pdcp.c       |  140 +
 .../test_cryptodev_security_pdcp_test_func.h  |   36 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 2491 +++++++++++++++++
 6 files changed, 2880 insertions(+), 7 deletions(-)
 create mode 100644 app/test/test_cryptodev_security_pdcp.c
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
 create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h

diff --git a/app/test/Makefile b/app/test/Makefile
index 26ba6fe2b..df7f77f44 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -196,6 +196,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
 SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
+SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
 
 SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
 
diff --git a/app/test/meson.build b/app/test/meson.build
index ec40943bd..2c23c6347 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -30,6 +30,7 @@ test_sources = files('commands.c',
 	'test_cryptodev.c',
 	'test_cryptodev_asym.c',
 	'test_cryptodev_blockcipher.c',
+	'test_cryptodev_security_pdcp.c',
 	'test_cycles.c',
 	'test_debug.c',
 	'test_distributor.c',
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 9a226bd15..35fe16aaa 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -38,6 +38,10 @@
 #include "test_cryptodev_zuc_test_vectors.h"
 #include "test_cryptodev_aead_test_vectors.h"
 #include "test_cryptodev_hmac_test_vectors.h"
+#ifdef RTE_LIBRTE_SECURITY
+#include "test_cryptodev_security_pdcp_test_vectors.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+#endif
 
 #define VDEV_ARGS_SIZE 100
 #define MAX_NB_SESSIONS 4
@@ -65,8 +69,11 @@ struct crypto_unittest_params {
 	struct rte_crypto_sym_xform auth_xform;
 	struct rte_crypto_sym_xform aead_xform;
 
-	struct rte_cryptodev_sym_session *sess;
-
+	union {
+		struct rte_cryptodev_sym_session *sess;
+		struct rte_security_session *sec_session;
+	};
+	enum rte_security_session_action_type type;
 	struct rte_crypto_op *op;
 
 	struct rte_mbuf *obuf, *ibuf;
@@ -566,11 +573,21 @@ ut_teardown(void)
 	struct rte_cryptodev_stats stats;
 
 	/* free crypto session structure */
-	if (ut_params->sess) {
-		rte_cryptodev_sym_session_clear(ts_params->valid_devs[0],
-				ut_params->sess);
-		rte_cryptodev_sym_session_free(ut_params->sess);
-		ut_params->sess = NULL;
+	if (ut_params->type == RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL) {
+		if (ut_params->sec_session) {
+			rte_security_session_destroy(rte_cryptodev_get_sec_ctx
+						(ts_params->valid_devs[0]),
+						ut_params->sec_session);
+			ut_params->sec_session = NULL;
+		}
+	} else {
+		if (ut_params->sess) {
+			rte_cryptodev_sym_session_clear(
+					ts_params->valid_devs[0],
+					ut_params->sess);
+			rte_cryptodev_sym_session_free(ut_params->sess);
+			ut_params->sess = NULL;
+		}
 	}
 
 	/* free crypto operation structure */
@@ -7021,6 +7038,185 @@ test_authenticated_encryption(const struct aead_test_data *tdata)
 
 }
 
+#ifdef RTE_LIBRTE_SECURITY
+/* Basic algorithm run function for async inplace mode.
+ * Creates a session from input parameters and runs one operation
+ * on input_vec. Checks the output of the crypto operation against
+ * output_vec.
+ */
+static int
+test_pdcp_proto(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	int ret = TEST_SUCCESS;
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  input_vec_len);
+	memcpy(plaintext, input_vec, input_vec_len);
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, output_vec_len);
+	}
+
+	/* Set crypto type as IPSEC */
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+
+	if (memcmp(ciphertext, output_vec, output_vec_len)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, output_vec_len);
+		rte_hexdump(stdout, "reference", output_vec, output_vec_len);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
+int
+test_pdcp_proto_cplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]+4);
+}
+
+#endif
+
 static int
 test_AES_GCM_authenticated_encryption_test_case_1(void)
 {
@@ -11433,6 +11629,10 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			     test_authonly_dpaa_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
@@ -11538,6 +11738,10 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_authonly_dpaa2_sec_all),
 
+#ifdef RTE_LIBRTE_SECURITY
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_encap_all),
+#endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_authenticated_encryption_test_case_1),
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
new file mode 100644
index 000000000..cdf6639b7
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -0,0 +1,140 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#include <time.h>
+
+#include <rte_common.h>
+#include <rte_hexdump.h>
+#include <rte_mbuf.h>
+#include <rte_malloc.h>
+#include <rte_memcpy.h>
+#include <rte_pause.h>
+#include <rte_bus_vdev.h>
+#include <rte_byteorder.h>
+
+#include <rte_crypto.h>
+#include <rte_cryptodev.h>
+#include <rte_cryptodev_pmd.h>
+#include <rte_security.h>
+
+#include <rte_lcore.h>
+#include "test.h"
+#include "test_cryptodev_security_pdcp_test_func.h"
+
+static int cplane_encap(uint32_t sn_size, uint8_t dir,
+			enum enc_alg_off enc_alg_off,
+			enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_encap(i);
+}
+
+#define TEST_PDCP_COUNT(func) do {			\
+	if (func == TEST_SUCCESS)  {			\
+		printf("\t%d)", n++);			\
+		printf(#func"-PASS\n");			\
+		i++;					\
+	} else {					\
+		printf("\t%d)", n++);			\
+		printf("+++++ FAILED:" #func"\n");	\
+	}						\
+} while (0)
+
+int
+test_PDCP_PROTO_cplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 12-bit SN */
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_encap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
new file mode 100644
index 000000000..ad1e7c70a
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_FUNC_H_
+#define SECURITY_PDCP_TEST_FUNC_H_
+
+#define PDCP_CPLANE_OFFSET		0
+#define PDCP_CPLANE_LONG_SN_OFFSET	32
+#define LONG_SEQ_NUM_OFFSET		0
+#define SHORT_SEQ_NUM_OFFSET		2
+#define FIFTEEN_BIT_SEQ_NUM_OFFSET	4
+#define EIGHTEEN_BIT_SEQ_NUM_OFFSET	6
+#define UPLINK				0
+#define DOWNLINK			1
+/* key length(in bytes) for F8 */
+#define F8_KEY_LEN			16
+
+enum enc_alg_off {
+	NULL_ENC = 0,
+	SNOW_ENC = 8,
+	AES_ENC = 16,
+	ZUC_ENC = 24
+};
+enum auth_alg_off {
+	NULL_AUTH = 0,
+	SNOW_AUTH = 2,
+	AES_AUTH = 4,
+	ZUC_AUTH = 6
+};
+
+int test_pdcp_proto_cplane_encap(int i);
+
+int test_PDCP_PROTO_cplane_encap_all(void);
+
+#endif /* SECURITY_PDCP_TEST_FUNC_H_ */
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
new file mode 100644
index 000000000..8476a61f7
--- /dev/null
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -0,0 +1,2491 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright (C) 2015-2016 Freescale Semiconductor,Inc.
+ * Copyright 2018-2019 NXP
+ */
+
+#ifndef SECURITY_PDCP_TEST_VECTOR_H_
+#define SECURITY_PDCP_TEST_VECTOR_H_
+
+#include <rte_security.h>
+
+/*
+ * PDCP test vectors and related structures.
+ */
+enum pdcp_dir {
+	PDCP_DIR_UPLINK = 0,
+	PDCP_DIR_DOWNLINK = 1,
+	PDCP_DIR_INVALID
+};
+
+struct pdcp_test_param {
+	uint8_t type;
+	enum rte_security_pdcp_domain domain;
+	enum rte_crypto_cipher_algorithm cipher_alg;
+	uint8_t cipher_key_len;
+	enum rte_crypto_auth_algorithm auth_alg;
+	uint8_t auth_key_len;
+	const char *name;
+};
+
+static struct pdcp_test_param pdcp_test_params[] = {
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+
+	 /* For 12-bit C-plane */
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with NULL encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with SNOW f8 encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with AES CTR encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and NULL integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and SNOW f9 integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and AES CMAC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Uplink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_CONTROL,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP Control Plane with ZUC encryption and ZUC integrity Downlink",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+};
+
+static uint32_t pdcp_test_hfn[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa557,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa557,
+
+	/* For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x01,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x01,
+
+	/* 12-bit C-plane ends ***********************/
+};
+
+static uint32_t pdcp_test_hfn_threshold[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x000fa558,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x000fa558,
+
+	/*********** For 12-bit C-plane ***********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x70C0A,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x70C0A,
+};
+
+static uint8_t pdcp_test_bearer[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x03,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x03,
+
+	/************** For 12-bit C-plane ********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	0x16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	0x16,
+};
+
+static uint8_t pdcp_test_packet_direction[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+
+	/***************** For 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	PDCP_DIR_DOWNLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	PDCP_DIR_UPLINK,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	PDCP_DIR_DOWNLINK,
+};
+
+static uint8_t pdcp_test_data_sn_size[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	5,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	5,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	5,
+
+	/*************** 12 bit SN for C-plane **************************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	12,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	12,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	12,
+	/*************** 12 bit SN for C-plane end **************************/
+};
+
+static uint8_t *pdcp_test_crypto_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+
+	/*********** C-plane 12-bit **************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		     0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+};
+
+static uint8_t *pdcp_test_auth_key[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xc7, 0x36, 0xc6, 0xaa, 0xb2, 0x2b, 0xff, 0xf9, 0x1e, 0x26,
+		    0x98, 0xd2, 0xe2, 0x2a, 0xd5, 0x7e},
+
+	/********* 12-bit C-plane **********************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	NULL,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	NULL,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+};
+
+static uint8_t *pdcp_test_data_in[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+
+	/*************** 12-bit C-plane ****************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+};
+
+static uint32_t pdcp_test_data_in_len[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	16,
+
+	/****************** C-plane 12-bit SN ***********/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	66,
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	66,
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	66,
+
+};
+
+static uint8_t *pdcp_test_data_out[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
+
+	/************ C-plane 12-bit ****************************/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
+
+	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
+
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
+
+};
+
+#endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 2/7] test/crypto: add PDCP cplane decap cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 1/7] test/crypto: add PDCP cplane encap cases Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 3/7] test/crypto: add PDCP uplane encap cases Akhil Goyal
                       ` (5 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal, Vakul Garg

This patch add test cases for control plane PDCP
5 and 12 bit SN test cases for decapsulation of
cipher+integrity for all algo combinations

Test vectors are reused from the encap cases
by swapping the input and output data.

The case are added to DPAA_SEC and DPAA2_SEC testsuite.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c                     |  18 +++
 app/test/test_cryptodev_security_pdcp.c       | 105 ++++++++++++++++++
 .../test_cryptodev_security_pdcp_test_func.h  |   2 +
 3 files changed, 125 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 35fe16aaa..ac575c8a3 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7215,6 +7215,18 @@ test_pdcp_proto_cplane_encap(int i)
 		pdcp_test_data_in_len[i]+4);
 }
 
+int
+test_pdcp_proto_cplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
 #endif
 
 static int
@@ -11632,6 +11644,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 #ifdef RTE_LIBRTE_SECURITY
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11741,6 +11756,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 #ifdef RTE_LIBRTE_SECURITY
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_cplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index cdf6639b7..803fc1dfc 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -48,6 +48,31 @@ static int cplane_encap(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_cplane_encap(i);
 }
 
+static int
+cplane_decap(uint32_t sn_size, uint8_t dir,
+	     enum enc_alg_off enc_alg_off,
+	     enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 5:
+		i = PDCP_CPLANE_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 12:
+		i = PDCP_CPLANE_LONG_SN_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u for %s\n", sn_size, __func__);
+	}
+
+	return test_pdcp_proto_cplane_decap(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -138,3 +163,83 @@ test_PDCP_PROTO_cplane_encap_all(void)
 
 	return n - i;
 };
+
+int
+test_PDCP_PROTO_cplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(5, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* C-plane 12-bit */
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, SNOW_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(cplane_decap(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index ad1e7c70a..21a6e8a48 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -30,7 +30,9 @@ enum auth_alg_off {
 };
 
 int test_pdcp_proto_cplane_encap(int i);
+int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
+int test_PDCP_PROTO_cplane_decap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 3/7] test/crypto: add PDCP uplane encap cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 1/7] test/crypto: add PDCP cplane encap cases Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 2/7] test/crypto: add PDCP cplane decap cases Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 4/7] test/crypto: add PDCP uplane encap with integrity cases Akhil Goyal
                       ` (4 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal, Vakul Garg

PDCP User/Data plane can support 5/7/12/15/18 bit
sequence number. This patch add test cases and test
vectors for all supported algos for cipher only.
(NULL, AES, SNOW, ZUC ciphers)

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c                     |   19 +
 app/test/test_cryptodev_security_pdcp.c       |   73 ++
 .../test_cryptodev_security_pdcp_test_func.h  |    6 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 1113 +++++++++++++++++
 4 files changed, 1211 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index ac575c8a3..86ead9c27 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7215,6 +7215,19 @@ test_pdcp_proto_cplane_encap(int i)
 		pdcp_test_data_in_len[i]+4);
 }
 
+int
+test_pdcp_proto_uplane_encap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i]);
+
+}
+
 int
 test_pdcp_proto_cplane_decap(int i)
 {
@@ -11647,6 +11660,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11759,6 +11775,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_cplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_encap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index 803fc1dfc..7c8204208 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -73,6 +73,32 @@ cplane_decap(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_cplane_decap(i);
 }
 
+static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -243,3 +269,50 @@ test_PDCP_PROTO_cplane_decap_all(void)
 
 	return n - i;
 };
+
+int
+test_PDCP_PROTO_uplane_encap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 21a6e8a48..7051790c8 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -7,6 +7,7 @@
 
 #define PDCP_CPLANE_OFFSET		0
 #define PDCP_CPLANE_LONG_SN_OFFSET	32
+#define PDCP_UPLANE_OFFSET		64
 #define LONG_SEQ_NUM_OFFSET		0
 #define SHORT_SEQ_NUM_OFFSET		2
 #define FIFTEEN_BIT_SEQ_NUM_OFFSET	4
@@ -16,6 +17,9 @@
 /* key length(in bytes) for F8 */
 #define F8_KEY_LEN			16
 
+#define PDCP_UPLANE_12BIT_OFFSET	(PDCP_UPLANE_OFFSET + 32)
+#define PDCP_UPLANE_18BIT_OFFSET	(PDCP_UPLANE_12BIT_OFFSET + 32)
+
 enum enc_alg_off {
 	NULL_ENC = 0,
 	SNOW_ENC = 8,
@@ -30,9 +34,11 @@ enum auth_alg_off {
 };
 
 int test_pdcp_proto_cplane_encap(int i);
+int test_pdcp_proto_uplane_encap(int i);
 int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
 int test_PDCP_PROTO_cplane_decap_all(void);
+int test_PDCP_PROTO_uplane_encap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
index 8476a61f7..1c6e5f83c 100644
--- a/app/test/test_cryptodev_security_pdcp_test_vectors.h
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -605,6 +605,294 @@ static struct pdcp_test_param pdcp_test_params[] = {
 	 .cipher_key_len = 16,
 	 .auth_key_len = 16,
 	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with long sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with short sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 15 bit sequence number",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = 0,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
 };
 
 static uint32_t pdcp_test_hfn[] = {
@@ -740,6 +1028,72 @@ static uint32_t pdcp_test_hfn[] = {
 	0x01,
 
 	/* 12-bit C-plane ends ***********************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa557,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x01,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x01,
+
 };
 
 static uint32_t pdcp_test_hfn_threshold[] = {
@@ -873,6 +1227,72 @@ static uint32_t pdcp_test_hfn_threshold[] = {
 	0x70C0A,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	0x70C0A,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x00002195,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x00000791,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	0x00002195,
+
 };
 
 static uint8_t pdcp_test_bearer[] = {
@@ -1006,6 +1426,72 @@ static uint8_t pdcp_test_bearer[] = {
 	0x16,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	0x16,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. DL LONG SN */
+	0x03,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	0x16,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x16,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x03,
+	/* User Plane w/ZUC enc. UL 18-bit SN */
+	0x0B,
+	/* User Plane w/ZUC enc. DL 18-bit SN */
+	0x16,
+
 };
 
 static uint8_t pdcp_test_packet_direction[] = {
@@ -1139,6 +1625,72 @@ static uint8_t pdcp_test_packet_direction[] = {
 	PDCP_DIR_UPLINK,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	PDCP_DIR_DOWNLINK,
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. UL 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. UL for 18-bit SN */
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. DL for 18-bit SN */
+	PDCP_DIR_DOWNLINK,
+
 };
 
 static uint8_t pdcp_test_data_sn_size[] = {
@@ -1273,6 +1825,72 @@ static uint8_t pdcp_test_data_sn_size[] = {
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	12,
 	/*************** 12 bit SN for C-plane end **************************/
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	12,
+	/* User Plane w/NULL enc. DL LONG SN */
+	12,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	7,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	18,
+
 };
 
 static uint8_t *pdcp_test_crypto_key[] = {
@@ -1466,6 +2084,101 @@ static uint8_t *pdcp_test_crypto_key[] = {
 	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
 		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x5a, 0xcb, 0x1d, 0x64, 0x4c, 0x0d, 0x51, 0x20, 0x4e, 0xa5,
+		    0xf1, 0x45, 0x10, 0x10, 0xd8, 0x52},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
 };
 
 static uint8_t *pdcp_test_auth_key[] = {
@@ -1658,6 +2371,71 @@ static uint8_t *pdcp_test_auth_key[] = {
 	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
 		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. DL LONG SN */
+	NULL,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	NULL,
+
 };
 
 static uint8_t *pdcp_test_data_in[] = {
@@ -1987,6 +2765,143 @@ static uint8_t *pdcp_test_data_in[] = {
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+
 };
 
 static uint32_t pdcp_test_data_in_len[] = {
@@ -2124,6 +3039,72 @@ static uint32_t pdcp_test_data_in_len[] = {
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
 	66,
 
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	17,
+	/* User Plane w/NULL enc. DL LONG SN */
+	17,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	16,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	17,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	16,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	17,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	16,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	71,
+
 };
 
 static uint8_t *pdcp_test_data_out[] = {
@@ -2486,6 +3467,138 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
+		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
+		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
+		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
+		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
+		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
+		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
+		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
+		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
+		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
+		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
+		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
+		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
+		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
+		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
+		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
+		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
+		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
+		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
+
 };
 
 #endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 4/7] test/crypto: add PDCP uplane encap with integrity cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
                       ` (2 preceding siblings ...)
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 3/7] test/crypto: add PDCP uplane encap cases Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 5/7] test/crypto: add PDCP uplane decap cases Akhil Goyal
                       ` (3 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal, Vakul Garg

PDCP User/Data plane can optionally support integrity
along with confidentiality.
This patch add test cases and test vectors for all
supported algos combos for cipher+integrity for 12
and 18bit SN.

The test cases are added in DPAA_SEC and DPAA2_SEC
test suite as a reference.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c                     |   12 +
 app/test/test_cryptodev_security_pdcp.c       |   99 +
 .../test_cryptodev_security_pdcp_test_func.h  |    1 +
 ...est_cryptodev_security_pdcp_test_vectors.h | 4079 ++++++++++++++---
 4 files changed, 3511 insertions(+), 680 deletions(-)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 86ead9c27..4666317aa 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7228,6 +7228,18 @@ test_pdcp_proto_uplane_encap(int i)
 
 }
 
+int
+test_pdcp_proto_uplane_encap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+		RTE_CRYPTO_AUTH_OP_GENERATE,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4);
+}
+
 int
 test_pdcp_proto_cplane_decap(int i)
 {
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index 7c8204208..e1ba2bf6e 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -99,6 +99,31 @@ static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap(i);
 }
 
+static int
+uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_encap_with_int(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -311,6 +336,80 @@ test_PDCP_PROTO_uplane_encap_all(void)
 	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, UPLINK, ZUC_ENC));
 	TEST_PDCP_COUNT(uplane_encap_no_integrity(18, DOWNLINK, ZUC_ENC));
 
+	/* For 12-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* For 18-bit SN with integrity */
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_encap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
 	if (n - i)
 		printf("## %s: %d passed out of %d\n", __func__, i, n);
 
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 7051790c8..473cdaecc 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -35,6 +35,7 @@ enum auth_alg_off {
 
 int test_pdcp_proto_cplane_encap(int i);
 int test_pdcp_proto_uplane_encap(int i);
+int test_pdcp_proto_uplane_encap_with_int(int i);
 int test_pdcp_proto_cplane_decap(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h
index 1c6e5f83c..703076479 100644
--- a/app/test/test_cryptodev_security_pdcp_test_vectors.h
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -893,6 +893,585 @@ static struct pdcp_test_param pdcp_test_params[] = {
 	 .cipher_key_len = 16,
 	 .auth_key_len = 0,
 	 },
+
+	 /********* 12-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 12 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	 /********* 18-bit uplane with integrity **************************/
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with NULL encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_NULL,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 0,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with SNOW f8 encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_SNOW3G_UEA2,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with AES CTR encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_AES_CTR,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and NULL integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_NULL,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 0,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and SNOW f9 integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_SNOW3G_UIA2,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and AES CMAC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_AES_CMAC,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Uplink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
+	{
+	 .name =
+	 "PDCP User Plane with ZUC encryption and ZUC integrity Downlink with 18 bit SN",
+	 .cipher_alg = RTE_CRYPTO_CIPHER_ZUC_EEA3,
+	 .auth_alg = RTE_CRYPTO_AUTH_ZUC_EIA3,
+	 .domain = RTE_SECURITY_PDCP_MODE_DATA,
+	 .cipher_key_len = 16,
+	 .auth_key_len = 16,
+	 },
 };
 
 static uint32_t pdcp_test_hfn[] = {
@@ -1094,6 +1673,137 @@ static uint32_t pdcp_test_hfn[] = {
 	/* User Plane w/ZUC enc. DL 18-bit SN */
 	0x01,
 
+	 /********* 12-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x01,
+
+	 /********* 18-bit uplane with integrity **************************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x01,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x01,
 };
 
 static uint32_t pdcp_test_hfn_threshold[] = {
@@ -1274,25 +1984,157 @@ static uint32_t pdcp_test_hfn_threshold[] = {
 	0x000fa558,
 	/* User Plane w/AES CTR enc. UL 18-bit SN */
 	0x00000791,
-	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	/* User Plane w/AES CTR enc. DL 18-bit SN */
+	0x00002195,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	0x000fa558,
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	0x00002195,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x70C0A,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x70C0A,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
 	0x00002195,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	0x000fa558,
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
 	0x00000791,
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x00002195,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x00000791,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
 	0x00002195,
-
 };
 
 static uint8_t pdcp_test_bearer[] = {
@@ -1492,6 +2334,141 @@ static uint8_t pdcp_test_bearer[] = {
 	/* User Plane w/ZUC enc. DL 18-bit SN */
 	0x16,
 
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	0x16,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	0x16,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	0x0B,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	0x16,
+
 };
 
 static uint8_t pdcp_test_packet_direction[] = {
@@ -1691,6 +2668,139 @@ static uint8_t pdcp_test_packet_direction[] = {
 	/* User Plane w/ZUC enc. DL for 18-bit SN */
 	PDCP_DIR_DOWNLINK,
 
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	PDCP_DIR_UPLINK,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	PDCP_DIR_DOWNLINK,
+
 };
 
 static uint8_t pdcp_test_data_sn_size[] = {
@@ -1840,57 +2950,189 @@ static uint8_t pdcp_test_data_sn_size[] = {
 	15,
 	/* User Plane w/NULL enc. UL 18 BIT SN */
 	18,
-	/* User Plane w/NULL enc. DL 18 BIT SN */
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	12,
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
+	7,
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	12,
+	/* User Plane w/AES CTR enc. UL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. DL SHORT SN */
+	7,
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. UL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. DL LONG SN */
+	12,
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	7,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	15,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	18,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	18,
+
+	/*** u-plane with integrity for 12-bit SN ******/
+
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	12,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	12,
+
+	/*** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	12,
-	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	12,
-	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	7,
-	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	7,
-	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/AES CTR enc. UL LONG SN */
-	12,
-	/* User Plane w/AES CTR enc. DL LONG SN */
-	12,
-	/* User Plane w/AES CTR enc. UL SHORT SN */
-	7,
-	/* User Plane w/AES CTR enc. DL SHORT SN */
-	7,
-	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
 	18,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	12,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	12,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	7,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	7,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	15,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	15,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
 	18,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	18,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
 	18,
-
 };
 
 static uint8_t *pdcp_test_crypto_key[] = {
@@ -2179,6 +3421,188 @@ static uint8_t *pdcp_test_crypto_key[] = {
 	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
 		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 
+	/******* u-plane for 12-bit SN ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+
+	/******* u-plane for 18-bit SN with integrity ***********/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x60, 0x4C, 0x8A, 0x22, 0x89, 0x56, 0x13, 0x51, 0x7D, 0x61,
+		    0xE5, 0xE0, 0x7B, 0x2B, 0xD0, 0x9E},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x40, 0x19, 0xE2, 0x99, 0x16, 0xC3, 0x7E, 0x9B, 0xA6, 0x8F,
+		    0x57, 0xBE, 0x97, 0xFD, 0x02, 0xCB},
 };
 
 static uint8_t *pdcp_test_auth_key[] = {
@@ -2425,17 +3849,200 @@ static uint8_t *pdcp_test_auth_key[] = {
 	NULL,
 	/* User Plane w/ZUC enc. UL SHORT SN */
 	NULL,
-	/* User Plane w/ZUC enc. DL SHORT SN */
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	NULL,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	NULL,
+
+	/***** u-plane with integrity for 12-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	NULL,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+
+	/***** u-plane with integrity for 18-bit SN ******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	NULL,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	NULL,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
 	NULL,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
 	NULL,
-
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x1A, 0xEF, 0xBB, 0xFF, 0x00, 0xF5, 0x4B, 0x32, 0x87, 0xF9,
+		    0xDB, 0xE0, 0x31, 0x5F, 0x3A, 0x15},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0x4D, 0x4B, 0x2B, 0x1E, 0x39, 0x60, 0x0A, 0x98, 0xC1, 0x3C,
+		    0x98, 0x82, 0xDC, 0xB6, 0xC2, 0x36},
 };
 
 static uint8_t *pdcp_test_data_in[] = {
@@ -2514,699 +4121,1714 @@ static uint8_t *pdcp_test_data_in[] = {
 	/* Control Plane w/ZUC enc. + NULL int. UL */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + NULL int. DL */
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+
+	/*************** 12-bit C-plane ****************/
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/NULL enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW f8 enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	/* User Plane w/SNOW f8 enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES CTR enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	/* User Plane w/AES CTR enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	/* User Plane w/AES CTR enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	/* User Plane w/ZUC enc. DL SHORT SN */
 	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
 		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
 
-	/*************** 12-bit C-plane ****************/
-	/* Control Plane w/NULL enc. + NULL int. UL */
+	/*************** u-plane with integrity for 12-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + NULL int. DL */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + ZUC int. UL */
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + ZUC int. DL */
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
+		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
+		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
+		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
+		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
+		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
 		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
 		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
 		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
 		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
 		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+
+	/*************** u-plane with integrity for 18-bit SN *****/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69},
+};
+
+static uint32_t pdcp_test_data_in_len[] = {
+	/* Control Plane w/NULL enc. + NULL int. UL */
+	16,
+	/* Control Plane w/NULL enc. + NULL int. DL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/NULL enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
+	16,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
+	16,
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
 	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + NULL int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/AES CTR enc. + ZUC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + NULL int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. UL */
+	16,
+	/* Control Plane w/ZUC enc. + ZUC int. DL */
+	16,
+
+	/****************** C-plane 12-bit SN ***********/
+	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	66,
+	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	66,
+
+	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	66,
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
+	66,
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
+	66,
 
 	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	 (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		     0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		     0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		     0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		     0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		     0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 
 	/* Control Plane w/ZUC enc. + NULL int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + NULL int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53,
-		    0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB,
-		    0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91,
-		    0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0,
-		    0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70,
-		    0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
+	66,
+
 
 	/* User Plane w/NULL enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/NULL enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/NULL enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/NULL enc. UL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. DL SHORT SN */
+	16,
+	/* User Plane w/NULL enc. UL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. DL 15 BIT SN */
+	17,
+	/* User Plane w/NULL enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/NULL enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/SNOW enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/SNOW enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/AES CTR enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/AES CTR enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/AES enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/AES enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/AES CTR enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/AES CTR enc. DL 18 BIT SN */
+	71,
 	/* User Plane w/ZUC enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/ZUC enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	16,
 	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	17,
 	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
-	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
-		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
-		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
-		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
-		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
-		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
-		    0x91, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
-	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
-		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
-		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
-		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
-		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
-		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
-		    0x69, 0x00, 0x00, 0x00, 0x00},
+	17,
+	/* User Plane w/ZUC enc. UL 18 BIT SN */
+	71,
+	/* User Plane w/ZUC enc. DL 18 BIT SN */
+	71,
+
+	/***** u-plane with integrity for 12-bit SN *******/
 
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
+	66,
+
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
+	66,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/
+	66,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN*/
+	66,
+
+	/***** u-plane with integrity for 18-bit SN *******/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	67,
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/
+	67,
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN*/
+	67,
 };
 
-static uint32_t pdcp_test_data_in_len[] = {
+static uint8_t *pdcp_test_data_out[] = {
 	/* Control Plane w/NULL enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
 	/* Control Plane w/NULL enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
 	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
 	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
 	/* Control Plane w/NULL enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
 	/* Control Plane w/NULL enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
 	/* Control Plane w/NULL enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
 	/* Control Plane w/NULL enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
 	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
 	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
 	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
+		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
 	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
+		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
 	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
 	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
 	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
 	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
 	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
 	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
+		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
 	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
+		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
 	/* Control Plane w/ZUC enc. + NULL int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
 	/* Control Plane w/ZUC enc. + NULL int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
 	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
 	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
 	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
 	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
 	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	16,
+	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
+		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
 	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	16,
+	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
+		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
 
-	/****************** C-plane 12-bit SN ***********/
+	/************ C-plane 12-bit ****************************/
 	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
 	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
 	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
 	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
 	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
 	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
 	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
+		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
+		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
+		    0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70,
+		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
+		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
 
 	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
 	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
 	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
-	66,
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
 	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
-	66,
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	66,
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
+	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
+		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
+		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
+		    0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24,
+		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
+		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
+		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
+	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
+		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
+		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
+		    0x67, 0x6A, 0xEB, 0x45, 0x18, 0x0B, 0xD6, 0x03, 0xDD, 0xFC,
+		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
+		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
+		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
 
-	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	66,
+	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
 
-	/* Control Plane w/ZUC enc. + NULL int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + NULL int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	66,
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	66,
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	66,
+	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
 
+	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
+	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
+	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
+		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
+		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
+		    0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5,
+		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
+		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
+		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
+	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
+		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
+		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
+		    0xA7, 0x00, 0x01, 0xF8, 0x97, 0x9F, 0xF9, 0x58, 0xD6, 0x62,
+		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
+		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
+		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
+	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
+	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
+	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
+	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
+	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
+	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
+		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
+		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
+		    0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC,
+		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
+		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
+		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
+	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
+		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
+		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
+		    0x87, 0xCD, 0x8B, 0xE9, 0x96, 0x2A, 0x35, 0x5C, 0xD3, 0x32,
+		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
+		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
+		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
 	/* User Plane w/NULL enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
+		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. UL 15 BIT SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
 	/* User Plane w/NULL enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/NULL enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/NULL enc. DL 18 BIT SN */
-	71,
+	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
+		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
+	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
+	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
+		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
+		    0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36,
+		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
+		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
+		    0x69, 0x00, 0x00, 0x00, 0x00},
 	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
+		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
 	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
+		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
 	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
+		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
 	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
+		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
 	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
+		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
 	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/SNOW f8 enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/SNOW f8 enc. DL 18 BIT SN */
-	71,
+	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
+		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
+	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
+		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
+		    0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76,
+		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
+		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
+		    0x31, 0x55, 0xDA, 0x18, 0x4D},
+	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
 	/* User Plane w/AES CTR enc. UL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
+		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
 	/* User Plane w/AES CTR enc. DL LONG SN */
-	17,
+	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
+		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
 	/* User Plane w/AES CTR enc. UL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
+		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
 	/* User Plane w/AES CTR enc. DL SHORT SN */
-	16,
+	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
+		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
 	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	17,
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/AES CTR enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/AES CTR enc. DL 18 BIT SN */
-	71,
-	/* User Plane w/ZUC enc. UL LONG SN */
-	17,
-	/* User Plane w/ZUC enc. DL LONG SN */
-	17,
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	16,
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	16,
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	17,
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	17,
-	/* User Plane w/ZUC enc. UL 18 BIT SN */
-	71,
-	/* User Plane w/ZUC enc. DL 18 BIT SN */
-	71,
-
-};
-
-static uint8_t *pdcp_test_data_out[] = {
-	/* Control Plane w/NULL enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
-	/* Control Plane w/NULL enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x00, 0x00, 0x00, 0x00},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x88, 0x7f, 0x4e, 0x59},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x9d, 0x9e, 0x45, 0x36},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0xf3, 0xdd, 0x01, 0xdf},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x5d, 0x8e, 0x5d, 0x05},
-	/* Control Plane w/NULL enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x18, 0xc3, 0x2e, 0x66},
-	/* Control Plane w/NULL enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8, 0x72, 0x44, 0xab, 0x64},
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xd0, 0xc5, 0x08, 0x58},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xd1, 0x2c, 0x86, 0x7c},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x58, 0xba, 0x46, 0x01},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x4c, 0xb2, 0xc3, 0x4a},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0x23, 0x18, 0x09, 0x87},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0x8c, 0xa2, 0xdb, 0x79},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0x39, 0xd1, 0x2b, 0xbd, 0x2a, 0x4c, 0x91, 0x59, 0xff,
-		    0xfa, 0xce, 0x68, 0xc0, 0x7c, 0x30, 0xc8, 0x06, 0x26, 0x3e},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0x26, 0xf3, 0x67, 0xf1, 0x42, 0x50, 0x1a, 0x85, 0x02,
-		    0xb9, 0x00, 0xa8, 0x9b, 0xcf, 0x06, 0xa3, 0x68, 0x2d, 0x18},
-	/* Control Plane w/AES CTR enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x32, 0x4f, 0x1a, 0x6b},
-	/* Control Plane w/AES CTR enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x92, 0x40, 0x52, 0x8e},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xba, 0x30, 0x54, 0x32},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0x0f, 0xde, 0x17, 0xb8},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0xc1, 0x92, 0x1b, 0xb4},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xcf, 0xce, 0x0f, 0x8b},
-	/* Control Plane w/AES CTR enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0x2c, 0x59, 0x74, 0xab, 0xdc, 0xd8, 0x36, 0xf6, 0x1b,
-		    0x54, 0x8d, 0x46, 0x93, 0x1c, 0xff, 0x2a, 0x8c, 0x34, 0x0d},
-	/* Control Plane w/AES CTR enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0xf2, 0xb9, 0x9d, 0x96, 0x51, 0xcc, 0x1e, 0xe8, 0x55,
-		    0x3e, 0x98, 0xc5, 0x58, 0xec, 0x4c, 0xe0, 0x04, 0xf9, 0xea},
-	/* Control Plane w/ZUC enc. + NULL int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x68, 0x82, 0xb9, 0x06},
-	/* Control Plane w/ZUC enc. + NULL int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x44, 0x81, 0x49, 0x0e},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0xe0, 0xfd, 0xf7, 0x5f},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0xd9, 0x1f, 0x0c, 0x38},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x9b, 0x5f, 0xb8, 0xd9},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x19, 0x0f, 0x14, 0x0b},
-	/* Control Plane w/ZUC enc. + ZUC int. UL */
-	(uint8_t[]){0x8b, 0xa6, 0x23, 0xf8, 0xca, 0x98, 0x03, 0x33, 0x81, 0x8a,
-		    0x6b, 0xfe, 0x37, 0xf2, 0x20, 0xd6, 0x70, 0x41, 0x97, 0x60},
-	/* Control Plane w/ZUC enc. + ZUC int. DL */
-	(uint8_t[]){0x8b, 0x3b, 0x42, 0xfc, 0x73, 0x83, 0x09, 0xb1, 0x3f, 0x66,
-		    0x86, 0x3a, 0x5d, 0xe7, 0x47, 0xf4, 0x36, 0xc5, 0xe2, 0x6a},
+	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
+		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
+	/* User Plane w/AES CTR enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
+		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
+	/* User Plane w/AES enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
+	/* User Plane w/AES enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
+	/* User Plane w/ZUC enc. UL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
+		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
+	/* User Plane w/ZUC enc. DL LONG SN */
+	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
+		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
+	/* User Plane w/ZUC enc. UL SHORT SN */
+	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
+		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
+	/* User Plane w/ZUC enc. DL SHORT SN */
+	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
+		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
+	/* User Plane w/ZUC enc. UL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
+		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
+	/* User Plane w/ZUC enc. DL 15 BIT SN */
+	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
+		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
+	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
+	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
 
-	/************ C-plane 12-bit ****************************/
-	/* Control Plane w/NULL enc. + NULL int. UL LONG SN */
+	/************************* 12-bit u-plane with int ************/
+	/* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3214,7 +5836,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + NULL int. DL LONG SN */
+	/* User Plane w/NULL enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3222,7 +5844,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD},
-	/* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3230,7 +5852,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96},
-	/* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3238,7 +5860,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7},
-	/* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3246,7 +5868,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E},
-	/* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3254,7 +5876,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36},
-	/* Control Plane w/NULL enc. + ZUC int. UL LONG SN */
+	/* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3262,7 +5884,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C,
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3},
-	/* Control Plane w/NULL enc. + ZUC int. DL LONG SN */
+	/* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82,
 		    0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71,
 		    0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57,
@@ -3271,7 +5893,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
 		    0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C},
 
-	/* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3279,7 +5901,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x12, 0x07, 0xAC, 0x93},
-	/* Control Plane w/SNOW f8 enc. + NULL int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3287,7 +5909,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3295,7 +5917,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05},
-	/* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3303,7 +5925,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3311,7 +5933,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD},
-	/* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3319,7 +5941,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68,
 		    0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA,
 		    0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8,
@@ -3327,7 +5949,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B,
 		    0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED,
 		    0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50},
-	/* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9,
 		    0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA,
 		    0x77, 0x62, 0xF8, 0x55, 0xC6, 0x8B, 0x25, 0x7B, 0xA3, 0xAF,
@@ -3335,8 +5957,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xDE, 0x74, 0x3C, 0x4C, 0x7F, 0x5E, 0x67, 0x25, 0x9F, 0xC9,
 		    0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7,
 		    0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49},
-
-	/* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN  */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3345,7 +5966,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x86, 0x33, 0x3F, 0x3C},
 
-	/* Control Plane w/AES CTR enc. + NULL int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3353,7 +5974,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B},
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3362,7 +5983,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA},
 
-	/* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3370,7 +5991,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3378,7 +5999,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12},
-	/* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3386,7 +6007,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D},
-	/* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF,
 		    0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10,
 		    0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8,
@@ -3394,7 +6015,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB,
 		    0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22,
 		    0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF},
-	/* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C,
 		    0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10,
 		    0x18, 0xD1, 0x25, 0xB4, 0x4B, 0x24, 0x94, 0xAE, 0x6D, 0x45,
@@ -3402,7 +6023,8 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x30, 0x7D, 0xE9, 0x41, 0x69, 0x65, 0x1C, 0xBA, 0x79, 0x54,
 		    0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65,
 		    0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37},
-	/* Control Plane w/ZUC enc. + NULL int. UL LONG SN */
+
+	/* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3410,7 +6032,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x1D, 0xCD, 0x3A, 0xE0},
-	/* Control Plane w/ZUC enc. + NULL int. DL LONG SN */
+	/* User Plane w/ZUC enc. + NULL int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3418,7 +6040,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3426,7 +6048,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76},
-	/* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3434,7 +6056,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1},
-	/* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3442,7 +6064,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE},
-	/* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3450,7 +6072,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x53, 0xA7, 0x12, 0xC2, 0xBC, 0x0C, 0x75, 0x98, 0x8E, 0x29,
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60},
-	/* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */
+	/* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN */
 	(uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56,
 		    0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED,
 		    0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA,
@@ -3458,7 +6080,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5,
 		    0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C,
 		    0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23},
-	/* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */
+	/* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN */
 	(uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26,
 		    0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC,
 		    0x98, 0x41, 0xC5, 0x03, 0x57, 0x48, 0x83, 0xBB, 0x8E, 0xCA,
@@ -3467,25 +6089,8 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51,
 		    0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0xE6, 0x25, 0xE6, 0x7A},
 
-	/* User Plane w/NULL enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57,
-		    0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4,
-		    0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8},
-	/* User Plane w/NULL enc. UL for 18-bit SN*/
+	/************************* 18-bit u-plane with int ************/
+	/* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
 		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
 		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
@@ -3493,7 +6098,7 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
 		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
 		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/NULL enc. DL for 18-bit SN*/
+	/* User Plane w/NULL enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
 		    0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35,
 		    0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91,
@@ -3501,25 +6106,50 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B,
 		    0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC,
 		    0x69, 0x00, 0x00, 0x00, 0x00},
-	/* User Plane w/SNOW f8 enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x7a, 0xe0, 0x00, 0x07, 0x2a, 0xa6, 0xef, 0xdc,
-		    0x75, 0xef, 0x2e, 0x27, 0x0f, 0x69, 0x3d},
-	/* User Plane w/SNOW f8 enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x7e, 0xbb, 0x80, 0x20, 0xba, 0xef, 0xe7, 0xf7,
-		    0xef, 0x69, 0x51, 0x85, 0x09, 0xa5, 0xab},
-	/* User Plane w/SNOW f8 enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0x80, 0xcf, 0xe5, 0x27, 0xe2, 0x88, 0x2a, 0xac, 0xc5,
-		    0xaf, 0x49, 0x9b, 0x3e, 0x48, 0x89},
-	/* User Plane w/SNOW f8 enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xe2, 0x51, 0x58, 0x88, 0xff, 0x1a, 0x00, 0xe4, 0x67,
-		    0x05, 0x46, 0x24, 0x2f, 0x07, 0xb7},
-	/* User Plane w/SNOW f8 enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xbe, 0x72, 0x05, 0x78, 0x92, 0xec, 0xb1, 0x4f,
-		    0xdd, 0x5d, 0xfc, 0x60, 0x2c, 0x9a, 0x85},
-	/* User Plane w/SNOW f8 enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf,
-		    0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc},
-	/* User Plane w/SNOW enc. UL for 18-bit SN*/
+	/* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		    0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9,
+		    0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13,
+		    0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62,
+		    0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A,
+		    0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA,
+		    0x91, 0x7F, 0x71, 0x17, 0x69},
+	/* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0x84, 0x45, 0xA8, 0x88},
+	/* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0x33, 0x9B, 0x38, 0xF7},
+	/* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xD9, 0x0B, 0x89, 0x7F},
+	/* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D,
+		0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68,
+		0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08,
+		0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76,
+		0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93,
+		0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0xB5, 0xD9, 0x5D, 0xE0},
+	/* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD,
+		0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3,
+		0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C,
+		0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F,
+		0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46,
+		0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xDA, 0xE9, 0x17, 0x96},
+	/* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
 		    0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91,
 		    0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69,
@@ -3527,78 +6157,167 @@ static uint8_t *pdcp_test_data_out[] = {
 		    0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33,
 		    0xC7, 0xFF, 0x33, 0x4E, 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F,
 		    0x31, 0x55, 0xDA, 0x18, 0x4D},
-	/* User Plane w/SNOW enc. DL for 18-bit SN*/
+	/* User Plane w/SNOW f8 enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
 		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
 		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
 		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
 		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
 		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C},
-	/* User Plane w/AES CTR enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xde, 0x0a, 0x59, 0xca, 0x7d, 0x93, 0xa3, 0xb5,
-		    0xd2, 0x88, 0xb3, 0x04, 0xa2, 0x12, 0x09},
-	/* User Plane w/AES CTR enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x69, 0x92, 0x25, 0xd8, 0xe9, 0xd5, 0xe9, 0x53,
-		    0x60, 0x49, 0x9f, 0xe9, 0x8f, 0xbe, 0x6a},
-	/* User Plane w/AES CTR enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0x0f, 0xa1, 0xf2, 0x56, 0x6e, 0xee, 0x62, 0x1c, 0x62,
-		    0x06, 0x7e, 0x38, 0x4a, 0x02, 0xa4},
-	/* User Plane w/AES CTR enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0x00, 0x8d, 0x50, 0x80, 0x30, 0xda, 0xc7, 0x14, 0xc5,
-		    0xe0, 0xc8, 0xfb, 0x83, 0xd0, 0x73},
-	/* User Plane w/AES CTR enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xa1, 0x2e, 0xa3, 0x64, 0xa9, 0x81, 0xbc, 0xd3,
-		    0x6f, 0xef, 0xee, 0x30, 0x71, 0x23, 0x85},
-	/* User Plane w/AES CTR enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5,
-		    0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9},
-	/* User Plane w/AES enc. UL for 18-bit SN*/
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x2A, 0xAB, 0x0F, 0x24},
+	/* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0xD7, 0xD6, 0x47, 0xF4},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x66, 0x41, 0x20, 0xBA},
+	/* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x8A, 0x98, 0x66, 0x03},
+	/* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30,
+		0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03,
+		0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1,
+		0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A,
+		0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E,
+		0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xE0, 0x03, 0x45, 0xAD},
+	/* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A,
+		0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D,
+		0xAA, 0x70, 0x42, 0x04, 0x7C, 0xE6, 0xA6, 0x1D, 0x91, 0xAE, 0x2E, 0x43,
+		0x60, 0x39, 0x23, 0x06, 0xD2, 0x31, 0x73, 0x98, 0xF0, 0x61, 0x47, 0xB5,
+		0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D,
+		0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x89, 0x7A, 0xF8, 0xEA},
+	/* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN  */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
 		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
 		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
 		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
 		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
 		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xC1, 0x66, 0x96, 0xC8},
-	/* User Plane w/AES enc. DL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
 		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
 		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
 		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
 		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
 		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35},
-	/* User Plane w/ZUC enc. UL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0xfb, 0xb6, 0x0e, 0x81, 0xa1, 0x9e, 0xc8, 0xeb,
-		    0x90, 0xa8, 0xc7, 0x0e, 0x27, 0xcb, 0xb0},
-	/* User Plane w/ZUC enc. DL LONG SN */
-	(uint8_t[]){0x8b, 0x26, 0x2f, 0x5d, 0xa4, 0x82, 0xfb, 0xce, 0x1f, 0x3a,
-		    0xb5, 0x66, 0x60, 0x40, 0x65, 0x2b, 0x40},
-	/* User Plane w/ZUC enc. UL SHORT SN */
-	(uint8_t[]){0x8b, 0xcb, 0x75, 0x03, 0xd5, 0xed, 0xea, 0x73, 0x39, 0xf5,
-		    0x07, 0x03, 0x04, 0x51, 0xc9, 0x5e},
-	/* User Plane w/ZUC enc. DL SHORT SN */
-	(uint8_t[]){0x8b, 0xe9, 0xd2, 0x49, 0x7f, 0xfd, 0x98, 0x9f, 0xc4, 0x6a,
-		    0xcb, 0xe6, 0x4e, 0x21, 0x33, 0xd2},
-	/* User Plane w/ZUC enc. UL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0x01, 0x0a, 0xba, 0x79, 0xf8, 0xe5, 0x9f, 0x22,
-		    0x37, 0xab, 0x5c, 0x7e, 0xad, 0xd6, 0x6b},
-	/* User Plane w/ZUC enc. DL 15 BIT SN */
-	(uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5,
-		    0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e},
-	/* User Plane w/ZUC enc. UL for 18-bit SN*/
+	/* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xBE, 0x17, 0x81, 0xA1},
+	/* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x1C, 0x50, 0xC0, 0xBD},
+	/* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xF2, 0xFD, 0xAE, 0x3F},
+	/* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x41, 0x1E, 0xE1, 0x4A},
+	/* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08,
+		0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F,
+		0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49,
+		0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53,
+		0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88,
+		0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x74, 0xBF, 0xCB, 0x28},
+	/* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1,
+		0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37,
+		0xD9, 0xBB, 0x3B, 0x76, 0xE5, 0x7D, 0x3C, 0xFC, 0xE3, 0x9D, 0x45, 0x4A,
+		0x07, 0x14, 0xD3, 0x14, 0xBC, 0x7E, 0x57, 0xAB, 0xB0, 0x8D, 0x8F, 0x42,
+		0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F,
+		0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x42, 0xFC, 0x7F, 0xA3},
+	/* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN */
 	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
 		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
 		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
 		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
 		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
 		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x43, 0x62, 0x73, 0xD8},
-	/* User Plane w/ZUC enc. DL for 18-bit SN*/
+	/* User Plane w/ZUC enc. + NULL int. DL for 18-bit SN */
 	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
 		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
 		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
 		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
 		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
 		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3},
-
+	/* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x3C, 0x13, 0x64, 0xB1},
+	/* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xE1, 0x52, 0x5E, 0x6B},
+	/* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x70, 0xF9, 0x4B, 0x2F},
+	/* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBC, 0x1C, 0x7F, 0x9C},
+	/* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN */
+	(uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C,
+		0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98,
+		0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB,
+		0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9,
+		0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E,
+		0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xF6, 0xBB, 0x2E, 0x38},
+	/* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN */
+	(uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13,
+		0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88,
+		0x51, 0x38, 0xB5, 0x89, 0xC6, 0xD3, 0xB5, 0x44, 0xC2, 0xB9, 0xB9, 0x59,
+		0x7C, 0xEC, 0x71, 0xD8, 0x42, 0x01, 0x03, 0x3C, 0x0E, 0xBB, 0x7B, 0xDD,
+		0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46,
+		0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBF, 0xFE, 0xE1, 0x75},
 };
 
 #endif /* SECURITY_PDCP_TEST_VECTOR_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 5/7] test/crypto: add PDCP uplane decap cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
                       ` (3 preceding siblings ...)
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 4/7] test/crypto: add PDCP uplane encap with integrity cases Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 6/7] test/crypto: add PDCP cases for scatter gather bufs Akhil Goyal
                       ` (2 subsequent siblings)
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal, Vakul Garg

This patch add test cases for user plane PDCP
5/7/12/15/18 bit SN test cases for decapsulation of
cipher only and 12/18 bit for cipher + integrity
for all algo combinations.

Test vectors are reused from the encap cases
by swapping the input and output data.

The case are added to DPAA_SEC and DPAA2_SEC
testsuite.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Vakul Garg <vakul.garg@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c                     |  30 +++
 app/test/test_cryptodev_security_pdcp.c       | 173 ++++++++++++++++++
 .../test_cryptodev_security_pdcp_test_func.h  |   3 +
 3 files changed, 206 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 4666317aa..afc296bf9 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7252,6 +7252,30 @@ test_pdcp_proto_cplane_decap(int i)
 		pdcp_test_data_in_len[i]);
 }
 
+int
+test_pdcp_proto_uplane_decap(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i],
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
+int
+test_pdcp_proto_uplane_decap_with_int(int i)
+{
+	return test_pdcp_proto(i, 0,
+		RTE_CRYPTO_CIPHER_OP_DECRYPT,
+		RTE_CRYPTO_AUTH_OP_VERIFY,
+		pdcp_test_data_out[i],
+		pdcp_test_data_in_len[i] + 4,
+		pdcp_test_data_in[i],
+		pdcp_test_data_in_len[i]);
+}
+
 #endif
 
 static int
@@ -11675,6 +11699,9 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11790,6 +11817,9 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_encap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_uplane_decap_all),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
diff --git a/app/test/test_cryptodev_security_pdcp.c b/app/test/test_cryptodev_security_pdcp.c
index e1ba2bf6e..30f3eb892 100644
--- a/app/test/test_cryptodev_security_pdcp.c
+++ b/app/test/test_cryptodev_security_pdcp.c
@@ -99,6 +99,33 @@ static int uplane_encap_no_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap(i);
 }
 
+static int
+uplane_decap_no_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off)
+{
+	int i = PDCP_UPLANE_OFFSET + ((dir == 0) ? UPLINK : DOWNLINK) +
+			enc_alg_off;
+
+	switch (sn_size) {
+	case 7:
+		i += SHORT_SEQ_NUM_OFFSET;
+		break;
+	case 15:
+		i += FIFTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	case 12:
+		i += LONG_SEQ_NUM_OFFSET;
+		break;
+	case 18:
+		i += EIGHTEEN_BIT_SEQ_NUM_OFFSET;
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap(i);
+}
+
 static int
 uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
 		enum enc_alg_off enc_alg_off,
@@ -124,6 +151,31 @@ uplane_encap_with_integrity(uint32_t sn_size, uint8_t dir,
 	return test_pdcp_proto_uplane_encap_with_int(i);
 }
 
+static int
+uplane_decap_with_integrity(uint32_t sn_size, uint8_t dir,
+		enum enc_alg_off enc_alg_off,
+		enum auth_alg_off auth_alg_off)
+{
+	int i = 0;
+
+	switch (sn_size) {
+	case 12:
+		i = PDCP_UPLANE_12BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	case 18:
+		i = PDCP_UPLANE_18BIT_OFFSET + enc_alg_off +
+			auth_alg_off + ((dir == 0) ?
+				UPLINK : DOWNLINK);
+		break;
+	default:
+		printf("\nInvalid SN: %u\n", sn_size);
+	}
+
+	return test_pdcp_proto_uplane_decap_with_int(i);
+}
+
 #define TEST_PDCP_COUNT(func) do {			\
 	if (func == TEST_SUCCESS)  {			\
 		printf("\t%d)", n++);			\
@@ -415,3 +467,124 @@ test_PDCP_PROTO_uplane_encap_all(void)
 
 	return n - i;
 };
+
+int
+test_PDCP_PROTO_uplane_decap_all(void)
+{
+	int i = 0, n = 0;
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, NULL_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, NULL_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, SNOW_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, SNOW_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, AES_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, AES_ENC));
+
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(12, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(7, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(15, DOWNLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, UPLINK, ZUC_ENC));
+	TEST_PDCP_COUNT(uplane_decap_no_integrity(18, DOWNLINK, ZUC_ENC));
+
+	/* u-plane 12-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(12, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	/* u-plane 18-bit with integrity */
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, NULL_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, NULL_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, SNOW_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, SNOW_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, AES_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, AES_ENC, ZUC_AUTH));
+
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, NULL_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, SNOW_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, AES_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, UPLINK, ZUC_ENC, ZUC_AUTH));
+	TEST_PDCP_COUNT(uplane_decap_with_integrity(18, DOWNLINK, ZUC_ENC, ZUC_AUTH));
+
+	if (n - i)
+		printf("## %s: %d passed out of %d\n", __func__, i, n);
+
+	return n - i;
+};
diff --git a/app/test/test_cryptodev_security_pdcp_test_func.h b/app/test/test_cryptodev_security_pdcp_test_func.h
index 473cdaecc..f3dc93e2f 100644
--- a/app/test/test_cryptodev_security_pdcp_test_func.h
+++ b/app/test/test_cryptodev_security_pdcp_test_func.h
@@ -37,9 +37,12 @@ int test_pdcp_proto_cplane_encap(int i);
 int test_pdcp_proto_uplane_encap(int i);
 int test_pdcp_proto_uplane_encap_with_int(int i);
 int test_pdcp_proto_cplane_decap(int i);
+int test_pdcp_proto_uplane_decap(int i);
+int test_pdcp_proto_uplane_decap_with_int(int i);
 
 int test_PDCP_PROTO_cplane_encap_all(void);
 int test_PDCP_PROTO_cplane_decap_all(void);
 int test_PDCP_PROTO_uplane_encap_all(void);
+int test_PDCP_PROTO_uplane_decap_all(void);
 
 #endif /* SECURITY_PDCP_TEST_FUNC_H_ */
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 6/7] test/crypto: add PDCP cases for scatter gather bufs
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
                       ` (4 preceding siblings ...)
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 5/7] test/crypto: add PDCP uplane decap cases Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 7/7] test/crypto: support wireless algos for dpaa2-sec Akhil Goyal
  2019-09-30 20:30     ` [dpdk-dev] [PATCH v2 0/7] Add PDCP test cases Akhil Goyal
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal

Test cases for PDCP with scattered input and output
buffers are added for both inplace and out of place scenarios.
1. input SG - output non SG
2. input and output both SG and inplace buffers
3. input and output both SG with different segment sizes
4. input SG and output non-SG

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c | 354 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 354 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index afc296bf9..ca6c35c87 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7203,6 +7203,277 @@ test_pdcp_proto(int i, int oop,
 	return ret;
 }
 
+static int
+test_pdcp_proto_SGL(int i, int oop,
+	enum rte_crypto_cipher_operation opc,
+	enum rte_crypto_auth_operation opa,
+	uint8_t *input_vec,
+	unsigned int input_vec_len,
+	uint8_t *output_vec,
+	unsigned int output_vec_len,
+	uint32_t fragsz,
+	uint32_t fragsz_oop)
+{
+	struct crypto_testsuite_params *ts_params = &testsuite_params;
+	struct crypto_unittest_params *ut_params = &unittest_params;
+	uint8_t *plaintext;
+	struct rte_mbuf *buf, *buf_oop = NULL;
+	int ret = TEST_SUCCESS;
+	int to_trn = 0;
+	int to_trn_tbl[16];
+	int segs = 1;
+	unsigned int trn_data = 0;
+
+	if (fragsz > input_vec_len)
+		fragsz = input_vec_len;
+
+	uint16_t plaintext_len = fragsz;
+	uint16_t frag_size_oop = fragsz_oop ? fragsz_oop : fragsz;
+
+	if (fragsz_oop > output_vec_len)
+		frag_size_oop = output_vec_len;
+
+	int ecx = 0;
+	if (input_vec_len % fragsz != 0) {
+		if (input_vec_len / fragsz + 1 > 16)
+			return 1;
+	} else if (input_vec_len / fragsz > 16)
+		return 1;
+
+	/* Out of place support */
+	if (oop) {
+		/*
+		 * For out-op-place we need to alloc another mbuf
+		 */
+		ut_params->obuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		rte_pktmbuf_append(ut_params->obuf, frag_size_oop);
+		buf_oop = ut_params->obuf;
+	}
+
+	/* Generate test mbuf data */
+	ut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+
+	/* clear mbuf payload */
+	memset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,
+			rte_pktmbuf_tailroom(ut_params->ibuf));
+
+	plaintext = (uint8_t *)rte_pktmbuf_append(ut_params->ibuf,
+						  plaintext_len);
+	memcpy(plaintext, input_vec, plaintext_len);
+	trn_data += plaintext_len;
+
+	buf = ut_params->ibuf;
+
+	/*
+	 * Loop until no more fragments
+	 */
+
+	while (trn_data < input_vec_len) {
+		++segs;
+		to_trn = (input_vec_len - trn_data < fragsz) ?
+				(input_vec_len - trn_data) : fragsz;
+
+		to_trn_tbl[ecx++] = to_trn;
+
+		buf->next = rte_pktmbuf_alloc(ts_params->mbuf_pool);
+		buf = buf->next;
+
+		memset(rte_pktmbuf_mtod(buf, uint8_t *), 0,
+				rte_pktmbuf_tailroom(buf));
+
+		/* OOP */
+		if (oop && !fragsz_oop) {
+			buf_oop->next =
+					rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+		}
+
+		plaintext = (uint8_t *)rte_pktmbuf_append(buf,
+				to_trn);
+
+		memcpy(plaintext, input_vec + trn_data, to_trn);
+		trn_data += to_trn;
+	}
+
+	ut_params->ibuf->nb_segs = segs;
+
+	segs = 1;
+	if (fragsz_oop && oop) {
+		to_trn = 0;
+		ecx = 0;
+
+		trn_data = frag_size_oop;
+		while (trn_data < output_vec_len) {
+			++segs;
+			to_trn =
+				(output_vec_len - trn_data <
+						frag_size_oop) ?
+				(output_vec_len - trn_data) :
+						frag_size_oop;
+
+			to_trn_tbl[ecx++] = to_trn;
+
+			buf_oop->next =
+				rte_pktmbuf_alloc(ts_params->mbuf_pool);
+			buf_oop = buf_oop->next;
+			memset(rte_pktmbuf_mtod(buf_oop, uint8_t *),
+					0, rte_pktmbuf_tailroom(buf_oop));
+			rte_pktmbuf_append(buf_oop, to_trn);
+
+			trn_data += to_trn;
+		}
+		ut_params->obuf->nb_segs = segs;
+	}
+
+	ut_params->type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL;
+
+	/* Setup Cipher Parameters */
+	ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
+	ut_params->cipher_xform.cipher.algo = pdcp_test_params[i].cipher_alg;
+	ut_params->cipher_xform.cipher.op = opc;
+	ut_params->cipher_xform.cipher.key.data = pdcp_test_crypto_key[i];
+	ut_params->cipher_xform.cipher.key.length =
+					pdcp_test_params[i].cipher_key_len;
+	ut_params->cipher_xform.cipher.iv.length = 0;
+
+	/* Setup HMAC Parameters if ICV header is required */
+	if (pdcp_test_params[i].auth_alg != 0) {
+		ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH;
+		ut_params->auth_xform.next = NULL;
+		ut_params->auth_xform.auth.algo = pdcp_test_params[i].auth_alg;
+		ut_params->auth_xform.auth.op = opa;
+		ut_params->auth_xform.auth.key.data = pdcp_test_auth_key[i];
+		ut_params->auth_xform.auth.key.length =
+					pdcp_test_params[i].auth_key_len;
+
+		ut_params->cipher_xform.next = &ut_params->auth_xform;
+	} else {
+		ut_params->cipher_xform.next = NULL;
+	}
+
+	struct rte_security_session_conf sess_conf = {
+		.action_type = RTE_SECURITY_ACTION_TYPE_LOOKASIDE_PROTOCOL,
+		.protocol = RTE_SECURITY_PROTOCOL_PDCP,
+		{.pdcp = {
+			.bearer = pdcp_test_bearer[i],
+			.domain = pdcp_test_params[i].domain,
+			.pkt_dir = pdcp_test_packet_direction[i],
+			.sn_size = pdcp_test_data_sn_size[i],
+			.hfn = pdcp_test_hfn[i],
+			.hfn_threshold = pdcp_test_hfn_threshold[i],
+		} },
+		.crypto_xform = &ut_params->cipher_xform
+	};
+
+	struct rte_security_ctx *ctx = (struct rte_security_ctx *)
+				rte_cryptodev_get_sec_ctx(
+				ts_params->valid_devs[0]);
+
+	/* Create security session */
+	ut_params->sec_session = rte_security_session_create(ctx,
+				&sess_conf, ts_params->session_mpool);
+
+	if (!ut_params->sec_session) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "Failed to allocate session");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Generate crypto op data structure */
+	ut_params->op = rte_crypto_op_alloc(ts_params->op_mpool,
+			RTE_CRYPTO_OP_TYPE_SYMMETRIC);
+	if (!ut_params->op) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"Failed to allocate symmetric crypto operation struct");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	rte_security_attach_session(ut_params->op, ut_params->sec_session);
+
+	/* set crypto operation source mbuf */
+	ut_params->op->sym->m_src = ut_params->ibuf;
+	if (oop)
+		ut_params->op->sym->m_dst = ut_params->obuf;
+
+	/* Process crypto operation */
+	if (process_crypto_request(ts_params->valid_devs[0], ut_params->op)
+		== NULL) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__,
+			"failed to process sym crypto op");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	if (ut_params->op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {
+		printf("TestCase %s()-%d line %d failed %s: ",
+			__func__, i, __LINE__, "crypto op processing failed");
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	/* Validate obuf */
+	uint8_t *ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_src,
+			uint8_t *);
+	if (oop) {
+		ciphertext = rte_pktmbuf_mtod(ut_params->op->sym->m_dst,
+				uint8_t *);
+	}
+	if (fragsz_oop)
+		fragsz = frag_size_oop;
+	if (memcmp(ciphertext, output_vec, fragsz)) {
+		printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+		rte_hexdump(stdout, "encrypted", ciphertext, fragsz);
+		rte_hexdump(stdout, "reference", output_vec, fragsz);
+		ret = TEST_FAILED;
+		goto on_err;
+	}
+
+	buf = ut_params->op->sym->m_src->next;
+	if (oop)
+		buf = ut_params->op->sym->m_dst->next;
+
+	unsigned int off = fragsz;
+
+	ecx = 0;
+	while (buf) {
+		ciphertext = rte_pktmbuf_mtod(buf,
+				uint8_t *);
+		if (memcmp(ciphertext, output_vec + off, to_trn_tbl[ecx])) {
+			printf("\n=======PDCP TestCase #%d failed: Data Mismatch ", i);
+			rte_hexdump(stdout, "encrypted", ciphertext, to_trn_tbl[ecx]);
+			rte_hexdump(stdout, "reference", output_vec + off,
+					to_trn_tbl[ecx]);
+			ret = TEST_FAILED;
+			goto on_err;
+		}
+		off += to_trn_tbl[ecx++];
+		buf = buf->next;
+	}
+on_err:
+	rte_crypto_op_free(ut_params->op);
+	ut_params->op = NULL;
+
+	if (ut_params->sec_session)
+		rte_security_session_destroy(ctx, ut_params->sec_session);
+	ut_params->sec_session = NULL;
+
+	rte_pktmbuf_free(ut_params->ibuf);
+	ut_params->ibuf = NULL;
+	if (oop) {
+		rte_pktmbuf_free(ut_params->obuf);
+		ut_params->obuf = NULL;
+	}
+
+	return ret;
+}
+
 int
 test_pdcp_proto_cplane_encap(int i)
 {
@@ -7276,6 +7547,71 @@ test_pdcp_proto_uplane_decap_with_int(int i)
 		pdcp_test_data_in_len[i]);
 }
 
+static int
+test_PDCP_PROTO_SGL_in_place_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 12-bit AES-SNOW DL encap
+	 */
+	int i = PDCP_UPLANE_12BIT_OFFSET + AES_ENC + SNOW_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, IN_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 0);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_128B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit NULL-NULL DL encap
+	 */
+	int i = PDCP_UPLANE_18BIT_OFFSET + NULL_ENC + NULL_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			32, 128);
+}
+static int
+test_PDCP_PROTO_SGL_oop_32B_40B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is uplane 18-bit AES DL encap
+	 */
+	int i = PDCP_UPLANE_OFFSET + AES_ENC + EIGHTEEN_BIT_SEQ_NUM_OFFSET
+			+ DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i],
+			32, 40);
+}
+static int
+test_PDCP_PROTO_SGL_oop_128B_32B(void)
+{
+	/* i can be used for running any PDCP case
+	 * In this case it is cplane 12-bit AES-ZUC DL encap
+	 */
+	int i = PDCP_CPLANE_LONG_SN_OFFSET + AES_ENC + ZUC_AUTH + DOWNLINK;
+	return test_pdcp_proto_SGL(i, OUT_OF_PLACE,
+			RTE_CRYPTO_CIPHER_OP_ENCRYPT,
+			RTE_CRYPTO_AUTH_OP_GENERATE,
+			pdcp_test_data_in[i],
+			pdcp_test_data_in_len[i],
+			pdcp_test_data_out[i],
+			pdcp_test_data_in_len[i]+4,
+			128, 32);
+}
 #endif
 
 static int
@@ -11702,6 +12038,15 @@ static struct unit_test_suite cryptodev_dpaa_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
@@ -11820,6 +12165,15 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_PDCP_PROTO_uplane_decap_all),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_in_place_32B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_128B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_32B_40B),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_PDCP_PROTO_SGL_oop_128B_32B),
 #endif
 		/** AES GCM Authenticated Encryption */
 		TEST_CASE_ST(ut_setup, ut_teardown,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [dpdk-dev] [PATCH v2 7/7] test/crypto: support wireless algos for dpaa2-sec
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
                       ` (5 preceding siblings ...)
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 6/7] test/crypto: add PDCP cases for scatter gather bufs Akhil Goyal
@ 2019-09-30 19:27     ` Akhil Goyal
  2019-09-30 20:30     ` [dpdk-dev] [PATCH v2 0/7] Add PDCP test cases Akhil Goyal
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 19:27 UTC (permalink / raw)
  To: dev; +Cc: hemant.agrawal, anoobj, konstantin.ananyev, Akhil Goyal

SNOW and ZUC plain crypto operations for cipher only
and auth only are now supported in dpaa2_sec.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 app/test/test_cryptodev.c | 64 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index ca6c35c87..bb5ff3c89 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -12287,6 +12287,70 @@ static struct unit_test_suite cryptodev_dpaa2_sec_testsuite  = {
 		TEST_CASE_ST(ut_setup, ut_teardown,
 			test_AES_GCM_auth_encrypt_SGL_out_of_place_1500B_2000B),
 
+		/** SNOW 3G encrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1_oop),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_encryption_test_case_1_oop_sgl),
+
+		/** SNOW 3G decrypt only (UEA2) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_decryption_test_case_5),
+
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_generate_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_snow3g_hash_verify_test_case_3),
+
+		/** ZUC encrypt only (EEA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_1),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_2),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_3),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_4),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_encryption_test_case_5),
+
+		/** ZUC authenticate (EIA3) */
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_6),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_7),
+		TEST_CASE_ST(ut_setup, ut_teardown,
+			test_zuc_hash_generate_test_case_8),
+
 		TEST_CASES_END() /**< NULL terminate unit test array */
 	}
 };
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/7] Add PDCP test cases
  2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
                       ` (6 preceding siblings ...)
  2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 7/7] test/crypto: support wireless algos for dpaa2-sec Akhil Goyal
@ 2019-09-30 20:30     ` Akhil Goyal
  7 siblings, 0 replies; 20+ messages in thread
From: Akhil Goyal @ 2019-09-30 20:30 UTC (permalink / raw)
  To: Akhil Goyal, dev; +Cc: Hemant Agrawal, anoobj, konstantin.ananyev


> 
> This patch add test vectors and a test framework for PDCP
> cplane and uplane protocol processing based on various
> sequence number sizes(5/7/12/15/18).
> 
> These test cases and test vectors are validated over NXP DPAA_SEC
> and DPAA2_SEC platforms.
> 
> This patchset is a split to the patch [1] which was sent as RFC.
> 
> Changes in v2:
> fix checkpatch warnings
> 
> Further this patchset is dependent on [2]
> [1]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatches.d
> pdk.org%2Fpatch%2F58554%2F&amp;data=02%7C01%7Cakhil.goyal%40nxp.co
> m%7Cdf8803416fca4c88f3cb08d745de67ae%7C686ea1d3bc2b4c6fa92cd99c5c
> 301635%7C0%7C0%7C637054693829071299&amp;sdata=%2BcE1X8iiVVX%2B7
> D3QHScFjSdhYNaDdLuAuxzHri4ClL8%3D&amp;reserved=0
> [2]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatches.d
> pdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D6623&amp;data=02%7C01
> %7Cakhil.goyal%40nxp.com%7Cdf8803416fca4c88f3cb08d745de67ae%7C686e
> a1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637054693829081293&amp;sd
> ata=GZhpFRgIWjlvVowx1AruRBpM%2F2fhdnaeM9Mmai9%2FxP4%3D&amp;rese
> rved=0
> 
> 
> Akhil Goyal (7):
>   test/crypto: add PDCP cplane encap cases
>   test/crypto: add PDCP cplane decap cases
>   test/crypto: add PDCP uplane encap cases
>   test/crypto: add PDCP uplane encap with integrity cases
>   test/crypto: add PDCP uplane decap cases
>   test/crypto: add PDCP cases for scatter gather bufs
>   test/crypto: support wireless algos for dpaa2-sec
> 
>  app/test/Makefile                             |    1 +
>  app/test/meson.build                          |    1 +
>  app/test/test_cryptodev.c                     |  715 +-
>  app/test/test_cryptodev_security_pdcp.c       |  590 ++
>  .../test_cryptodev_security_pdcp_test_func.h  |   48 +
>  ...est_cryptodev_security_pdcp_test_vectors.h | 6323 +++++++++++++++++
>  6 files changed, 7671 insertions(+), 7 deletions(-)
>  create mode 100644 app/test/test_cryptodev_security_pdcp.c
>  create mode 100644 app/test/test_cryptodev_security_pdcp_test_func.h
>  create mode 100644 app/test/test_cryptodev_security_pdcp_test_vectors.h
> 
> --
> 2.17.1

Series Applied to dpdk-next-crypto

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-09-30 20:30 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-03 16:49 [dpdk-dev] [PATCH] test/crypto: add PDCP vectors and cases Akhil Goyal
2019-09-05 14:47 ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 1/7] test/crypto: Add PDCP cplane encap cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 2/7] test/crypto: Add PDCP cplane decap cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 3/7] test/crypto: Add PDCP uplane encap cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 4/7] test/crypto: Add PDCP uplane encap with integrity cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 5/7] test/crypto: Add PDCP uplane decap cases Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 6/7] test/crypto: Add PDCP cases for scatter gather bufs Akhil Goyal
2019-09-05 14:47   ` [dpdk-dev] [PATCH 7/7] test/crypto: support wireless algos for dpaa2_sec Akhil Goyal
2019-09-19 15:23   ` [dpdk-dev] [PATCH 0/7] Add PDCP test cases Akhil Goyal
2019-09-30 10:44   ` Nipun Gupta
2019-09-30 19:27   ` [dpdk-dev] [PATCH v2 " Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 1/7] test/crypto: add PDCP cplane encap cases Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 2/7] test/crypto: add PDCP cplane decap cases Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 3/7] test/crypto: add PDCP uplane encap cases Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 4/7] test/crypto: add PDCP uplane encap with integrity cases Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 5/7] test/crypto: add PDCP uplane decap cases Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 6/7] test/crypto: add PDCP cases for scatter gather bufs Akhil Goyal
2019-09-30 19:27     ` [dpdk-dev] [PATCH v2 7/7] test/crypto: support wireless algos for dpaa2-sec Akhil Goyal
2019-09-30 20:30     ` [dpdk-dev] [PATCH v2 0/7] Add PDCP test cases Akhil Goyal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.