From: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>

Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischo...@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org>
---
/** Email created from pull request 505 (muvarov:devel/master_merge_api-next)
 ** https://github.com/Linaro/odp/pull/505
 ** Patch: https://github.com/Linaro/odp/pull/505.patch
 ** Base sha: 284f52d72ec19df3774c7409780f1f9eea33b8e6
 ** Merge commit sha: e8f50fefcd57a92e0971dc1172c5402c56b8370a
 **/
 test/validation/api/ipsec/ipsec.c          |  8 +++
 test/validation/api/ipsec/ipsec.h          |  5 ++
 test/validation/api/ipsec/ipsec_test_in.c  | 85 ++++++++++++++++++++++++++++++
 test/validation/api/ipsec/ipsec_test_out.c | 10 ++++
 4 files changed, 108 insertions(+)

diff --git a/test/validation/api/ipsec/ipsec.c 
b/test/validation/api/ipsec/ipsec.c
index cdaf04f5c..21eaf17b8 100644
--- a/test/validation/api/ipsec/ipsec.c
+++ b/test/validation/api/ipsec/ipsec.c
@@ -689,6 +689,14 @@ void ipsec_check_in_one(const ipsec_test_part *part, 
odp_ipsec_sa_t sa)
                }
                ipsec_check_packet(part->out[i].pkt_out,
                                   pkto[i]);
+               if (part->out[i].pkt_out != NULL &&
+                   part->out[i].l3_type != _ODP_PROTO_L3_TYPE_UNDEF)
+                       CU_ASSERT_EQUAL(part->out[i].l3_type,
+                                       odp_packet_l3_type(pkto[i]));
+               if (part->out[i].pkt_out != NULL &&
+                   part->out[i].l4_type != _ODP_PROTO_L4_TYPE_UNDEF)
+                       CU_ASSERT_EQUAL(part->out[i].l4_type,
+                                       odp_packet_l4_type(pkto[i]));
                odp_packet_free(pkto[i]);
        }
 }
diff --git a/test/validation/api/ipsec/ipsec.h 
b/test/validation/api/ipsec/ipsec.h
index 7ba9ef10e..b2d6df698 100644
--- a/test/validation/api/ipsec/ipsec.h
+++ b/test/validation/api/ipsec/ipsec.h
@@ -42,6 +42,9 @@ typedef struct {
        uint8_t data[256];
 } ipsec_test_packet;
 
+#define _ODP_PROTO_L3_TYPE_UNDEF ((odp_proto_l3_type_t)-1)
+#define _ODP_PROTO_L4_TYPE_UNDEF ((odp_proto_l4_type_t)-1)
+
 typedef struct {
        const ipsec_test_packet *pkt_in;
        odp_bool_t lookup;
@@ -51,6 +54,8 @@ typedef struct {
        struct {
                odp_ipsec_op_status_t status;
                const ipsec_test_packet *pkt_out;
+               odp_proto_l3_type_t l3_type;
+               odp_proto_l4_type_t l4_type;
        } out[1];
 } ipsec_test_part;
 
diff --git a/test/validation/api/ipsec/ipsec_test_in.c 
b/test/validation/api/ipsec/ipsec_test_in.c
index 8138defb5..d02cb2438 100644
--- a/test/validation/api/ipsec/ipsec_test_in.c
+++ b/test/validation/api/ipsec/ipsec_test_in.c
@@ -31,6 +31,8 @@ static void test_in_ipv4_ah_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -62,6 +64,8 @@ static void test_in_ipv4_ah_sha256_tun_ipv4(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -93,6 +97,8 @@ static void test_in_ipv4_ah_sha256_tun_ipv6(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -123,6 +129,9 @@ static void test_in_ipv4_ah_sha256_tun_ipv4_notun(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         /* It is L4_TYPE_IPV4 */
+                         .l4_type = _ODP_PROTO_L4_TYPE_UNDEF,
                          .pkt_out = &pkt_ipv4_icmp_0_ipip },
                },
        };
@@ -153,6 +162,8 @@ static void test_in_ipv4_esp_null_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -183,6 +194,8 @@ static void test_in_ipv4_esp_aes_cbc_null(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -213,6 +226,8 @@ static void test_in_ipv4_esp_aes_cbc_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -243,6 +258,8 @@ static void test_in_ipv4_esp_aes_ctr_null(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -274,6 +291,8 @@ static void test_in_ipv4_ah_sha256_lookup(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -305,6 +324,8 @@ static void test_in_ipv4_esp_null_sha256_lookup(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -336,6 +357,8 @@ static void test_in_ipv4_esp_null_sha256_tun_ipv4(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -367,6 +390,8 @@ static void test_in_ipv4_esp_null_sha256_tun_ipv6(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -398,6 +423,8 @@ static void test_in_ipv4_esp_udp_null_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -430,6 +457,8 @@ static void test_in_ipv4_esp_udp_null_sha256_lookup(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -461,6 +490,8 @@ static void test_in_ipv4_ah_sha256_noreplay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -471,6 +502,8 @@ static void test_in_ipv4_ah_sha256_noreplay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -505,6 +538,8 @@ static void test_in_ipv4_ah_sha256_replay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -525,6 +560,8 @@ static void test_in_ipv4_ah_sha256_replay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -559,6 +596,8 @@ static void test_in_ipv4_esp_null_sha256_noreplay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -569,6 +608,8 @@ static void test_in_ipv4_esp_null_sha256_noreplay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -603,6 +644,8 @@ static void test_in_ipv4_esp_null_sha256_replay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -623,6 +666,8 @@ static void test_in_ipv4_esp_null_sha256_replay(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -878,6 +923,8 @@ static void test_in_ipv4_rfc3602_5_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_rfc3602_5 },
                },
        };
@@ -908,6 +955,8 @@ static void test_in_ipv4_rfc3602_6_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_rfc3602_6 },
                },
        };
@@ -939,6 +988,8 @@ static void test_in_ipv4_rfc3602_7_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_rfc3602_7 },
                },
        };
@@ -970,6 +1021,8 @@ static void test_in_ipv4_rfc3602_8_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_rfc3602_8 },
                },
        };
@@ -1001,6 +1054,8 @@ static void test_in_ipv4_mcgrew_gcm_2_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_UDP,
                          .pkt_out = &pkt_mcgrew_gcm_test_2},
                },
        };
@@ -1032,6 +1087,8 @@ static void test_in_ipv4_mcgrew_gcm_3_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = _ODP_PROTO_L4_TYPE_UNDEF,
                          .pkt_out = &pkt_mcgrew_gcm_test_3},
                },
        };
@@ -1063,6 +1120,8 @@ static void test_in_ipv4_mcgrew_gcm_4_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_mcgrew_gcm_test_4},
                },
        };
@@ -1095,6 +1154,8 @@ static void test_in_ipv4_mcgrew_gcm_12_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_NONE,
+                         .l4_type = _ODP_PROTO_L4_TYPE_UNDEF,
                          .pkt_out = &pkt_mcgrew_gcm_test_12},
                },
        };
@@ -1127,6 +1188,8 @@ static void test_in_ipv4_mcgrew_gcm_15_esp(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_mcgrew_gcm_test_15},
                },
        };
@@ -1158,6 +1221,8 @@ static void test_in_ipv4_rfc7634_chacha(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_rfc7634},
                },
        };
@@ -1188,6 +1253,8 @@ static void test_in_ipv4_ah_aes_gmac_128(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -1218,6 +1285,8 @@ static void test_in_ipv4_esp_null_aes_gmac_128(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -1248,6 +1317,8 @@ static void test_in_ipv6_ah_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1279,6 +1350,8 @@ static void test_in_ipv6_ah_sha256_tun_ipv4(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1310,6 +1383,8 @@ static void test_in_ipv6_ah_sha256_tun_ipv6(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1340,6 +1415,8 @@ static void test_in_ipv6_esp_null_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1371,6 +1448,8 @@ static void test_in_ipv6_esp_null_sha256_tun_ipv4(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1402,6 +1481,8 @@ static void test_in_ipv6_esp_null_sha256_tun_ipv6(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1433,6 +1514,8 @@ static void test_in_ipv6_esp_udp_null_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
@@ -1465,6 +1548,8 @@ static void test_in_ipv6_esp_udp_null_sha256_lookup(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV6,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV6,
                          .pkt_out = &pkt_ipv6_icmp_0 },
                },
        };
diff --git a/test/validation/api/ipsec/ipsec_test_out.c 
b/test/validation/api/ipsec/ipsec_test_out.c
index 911987388..3db553b60 100644
--- a/test/validation/api/ipsec/ipsec_test_out.c
+++ b/test/validation/api/ipsec/ipsec_test_out.c
@@ -273,6 +273,8 @@ static void test_out_ipv4_esp_aes_cbc_null(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -346,6 +348,8 @@ static void test_out_ipv4_esp_aes_cbc_sha256(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -388,6 +392,8 @@ static void test_out_ipv4_esp_aes_ctr_null(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -430,6 +436,8 @@ static void test_out_ipv4_esp_aes_gcm128(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };
@@ -532,6 +540,8 @@ static void test_out_ipv4_esp_chacha20_poly1305(void)
                .out = {
                        { .status.warn.all = 0,
                          .status.error.all = 0,
+                         .l3_type = ODP_PROTO_L3_TYPE_IPV4,
+                         .l4_type = ODP_PROTO_L4_TYPE_ICMPV4,
                          .pkt_out = &pkt_ipv4_icmp_0 },
                },
        };

Reply via email to