DPDK patches and discussions
 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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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	[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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).