* [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&data=02%7C01%7Cnipun.gupta%4
> 0nxp.com%7Ceb1d916e4f6c41a31b7a08d732120ef2%7C686ea1d3bc2b4c6fa9
> 2cd99c5c301635%7C0%7C0%7C637032925451063511&sdata=aFlt8cawf8f
> eLEe6ju3w3heRJUVlWSGzhPwHZwKQ2Tk%3D&reserved=0
> [2]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> es.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D6199&data=0
> 2%7C01%7Cnipun.gupta%40nxp.com%7Ceb1d916e4f6c41a31b7a08d732120ef
> 2%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63703292545107350
> 2&sdata=f5IPo2%2F9mjrP1F4n%2FLzHKOEJOoCBBpR520oD0lchFxM%3D
> &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&data=02%7C01%7Cakhil.goyal%40nxp.co
> m%7Cdf8803416fca4c88f3cb08d745de67ae%7C686ea1d3bc2b4c6fa92cd99c5c
> 301635%7C0%7C0%7C637054693829071299&sdata=%2BcE1X8iiVVX%2B7
> D3QHScFjSdhYNaDdLuAuxzHri4ClL8%3D&reserved=0
> [2]
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatches.d
> pdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D6623&data=02%7C01
> %7Cakhil.goyal%40nxp.com%7Cdf8803416fca4c88f3cb08d745de67ae%7C686e
> a1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637054693829081293&sd
> ata=GZhpFRgIWjlvVowx1AruRBpM%2F2fhdnaeM9Mmai9%2FxP4%3D&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).