aboutsummaryrefslogtreecommitdiff
path: root/test/validation
diff options
context:
space:
mode:
authorJanne Peltonen <janne.peltonen@nokia.com>2021-03-27 11:58:36 +0200
committerPetri Savolainen <petri.savolainen@nokia.com>2021-04-01 15:02:59 +0300
commit6fba5c596f501455fb9f3704bdb612e7c91ce384 (patch)
tree14b054759ddbcbbe8dfe2491ff85079a609eca68 /test/validation
parentbef1a06087cb520bb55bd1073826716620a63780 (diff)
validation: ipsec: move combined out+in test code away from the infra
Move ipsec_check_out_in_one() from the generic framework file to a test case file where it better belongs. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Anoob Joseph <anoobj@marvell.com>
Diffstat (limited to 'test/validation')
-rw-r--r--test/validation/api/ipsec/ipsec.c65
-rw-r--r--test/validation/api/ipsec/ipsec.h3
-rw-r--r--test/validation/api/ipsec/ipsec_test_out.c68
3 files changed, 67 insertions, 69 deletions
diff --git a/test/validation/api/ipsec/ipsec.c b/test/validation/api/ipsec/ipsec.c
index ab43dd03f..2caf90b32 100644
--- a/test/validation/api/ipsec/ipsec.c
+++ b/test/validation/api/ipsec/ipsec.c
@@ -796,35 +796,6 @@ static void ipsec_pkt_seq_num_check(odp_packet_t pkt, uint32_t seq_num)
}
}
-static void ipsec_pkt_proto_err_set(odp_packet_t pkt)
-{
- uint32_t l3_off = odp_packet_l3_offset(pkt);
- odph_ipv4hdr_t ip;
-
- /* Simulate proto error by corrupting protocol field */
-
- odp_packet_copy_to_mem(pkt, l3_off, sizeof(ip), &ip);
-
- if (ip.proto == ODPH_IPPROTO_ESP)
- ip.proto = ODPH_IPPROTO_AH;
- else
- ip.proto = ODPH_IPPROTO_ESP;
-
- odp_packet_copy_from_mem(pkt, l3_off, sizeof(ip), &ip);
-}
-
-static void ipsec_pkt_auth_err_set(odp_packet_t pkt)
-{
- uint32_t data, len;
-
- /* Simulate auth error by corrupting ICV */
-
- len = odp_packet_len(pkt);
- odp_packet_copy_to_mem(pkt, len - sizeof(data), sizeof(data), &data);
- data = ~data;
- odp_packet_copy_from_mem(pkt, len - sizeof(data), sizeof(data), &data);
-}
-
static void ipsec_pkt_v4_check_udp_encap(odp_packet_t pkt)
{
uint32_t l3_off = odp_packet_l3_offset(pkt);
@@ -999,42 +970,6 @@ void ipsec_check_out_one(const ipsec_test_part *part, odp_ipsec_sa_t sa)
odp_packet_free(pkto[i]);
}
-void ipsec_check_out_in_one(const ipsec_test_part *part,
- odp_ipsec_sa_t sa,
- odp_ipsec_sa_t sa_in)
-{
- int num_out = part->num_pkt;
- odp_packet_t pkto[num_out];
- int i;
-
- num_out = ipsec_check_out(part, sa, pkto);
-
- for (i = 0; i < num_out; i++) {
- ipsec_test_part part_in = *part;
- ipsec_test_packet pkt_in;
-
- CU_ASSERT_FATAL(odp_packet_len(pkto[i]) <=
- sizeof(pkt_in.data));
-
- if (part->flags.stats == IPSEC_TEST_STATS_PROTO_ERR)
- ipsec_pkt_proto_err_set(pkto[i]);
-
- if (part->flags.stats == IPSEC_TEST_STATS_AUTH_ERR)
- ipsec_pkt_auth_err_set(pkto[i]);
-
- pkt_in.len = odp_packet_len(pkto[i]);
- pkt_in.l2_offset = odp_packet_l2_offset(pkto[i]);
- pkt_in.l3_offset = odp_packet_l3_offset(pkto[i]);
- pkt_in.l4_offset = odp_packet_l4_offset(pkto[i]);
- odp_packet_copy_to_mem(pkto[i], 0,
- pkt_in.len,
- pkt_in.data);
- part_in.pkt_in = &pkt_in;
- ipsec_check_in_one(&part_in, sa_in);
- odp_packet_free(pkto[i]);
- }
-}
-
int ipsec_suite_init(void)
{
int rc = 0;
diff --git a/test/validation/api/ipsec/ipsec.h b/test/validation/api/ipsec/ipsec.h
index f8739f8d6..eefdf4fe0 100644
--- a/test/validation/api/ipsec/ipsec.h
+++ b/test/validation/api/ipsec/ipsec.h
@@ -109,9 +109,6 @@ int ipsec_check_out(const ipsec_test_part *part,
odp_ipsec_sa_t sa,
odp_packet_t *pkto);
void ipsec_check_out_one(const ipsec_test_part *part, odp_ipsec_sa_t sa);
-void ipsec_check_out_in_one(const ipsec_test_part *part,
- odp_ipsec_sa_t sa,
- odp_ipsec_sa_t sa_in);
int ipsec_test_sa_update_seq_num(odp_ipsec_sa_t sa, uint32_t seq_num);
int ipsec_check(odp_bool_t ah,
diff --git a/test/validation/api/ipsec/ipsec_test_out.c b/test/validation/api/ipsec/ipsec_test_out.c
index 6969c3149..d3275e417 100644
--- a/test/validation/api/ipsec/ipsec_test_out.c
+++ b/test/validation/api/ipsec/ipsec_test_out.c
@@ -6,8 +6,9 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
-#include "ipsec.h"
+#include <odp/helper/odph_api.h>
+#include "ipsec.h"
#include "test_vectors.h"
struct cipher_param {
@@ -387,6 +388,71 @@ static void test_ipsec_stats_test_assert(odp_ipsec_stats_t *stats,
CU_ASSERT_EQUAL(stats->hard_exp_pkts_err, 0);
}
+static void ipsec_pkt_proto_err_set(odp_packet_t pkt)
+{
+ uint32_t l3_off = odp_packet_l3_offset(pkt);
+ odph_ipv4hdr_t ip;
+
+ /* Simulate proto error by corrupting protocol field */
+
+ odp_packet_copy_to_mem(pkt, l3_off, sizeof(ip), &ip);
+
+ if (ip.proto == ODPH_IPPROTO_ESP)
+ ip.proto = ODPH_IPPROTO_AH;
+ else
+ ip.proto = ODPH_IPPROTO_ESP;
+
+ odp_packet_copy_from_mem(pkt, l3_off, sizeof(ip), &ip);
+}
+
+static void ipsec_pkt_auth_err_set(odp_packet_t pkt)
+{
+ uint32_t data, len;
+
+ /* Simulate auth error by corrupting ICV */
+
+ len = odp_packet_len(pkt);
+ odp_packet_copy_to_mem(pkt, len - sizeof(data), sizeof(data), &data);
+ data = ~data;
+ odp_packet_copy_from_mem(pkt, len - sizeof(data), sizeof(data), &data);
+}
+
+static void ipsec_check_out_in_one(const ipsec_test_part *part,
+ odp_ipsec_sa_t sa,
+ odp_ipsec_sa_t sa_in)
+{
+ int num_out = part->num_pkt;
+ odp_packet_t pkto[num_out];
+ int i;
+
+ num_out = ipsec_check_out(part, sa, pkto);
+
+ for (i = 0; i < num_out; i++) {
+ ipsec_test_part part_in = *part;
+ ipsec_test_packet pkt_in;
+
+ CU_ASSERT_FATAL(odp_packet_len(pkto[i]) <=
+ sizeof(pkt_in.data));
+
+ if (part->flags.stats == IPSEC_TEST_STATS_PROTO_ERR)
+ ipsec_pkt_proto_err_set(pkto[i]);
+
+ if (part->flags.stats == IPSEC_TEST_STATS_AUTH_ERR)
+ ipsec_pkt_auth_err_set(pkto[i]);
+
+ pkt_in.len = odp_packet_len(pkto[i]);
+ pkt_in.l2_offset = odp_packet_l2_offset(pkto[i]);
+ pkt_in.l3_offset = odp_packet_l3_offset(pkto[i]);
+ pkt_in.l4_offset = odp_packet_l4_offset(pkto[i]);
+ odp_packet_copy_to_mem(pkto[i], 0,
+ pkt_in.len,
+ pkt_in.data);
+ part_in.pkt_in = &pkt_in;
+ ipsec_check_in_one(&part_in, sa_in);
+ odp_packet_free(pkto[i]);
+ }
+}
+
static void test_out_in_common(ipsec_test_flags *flags,
odp_cipher_alg_t cipher,
const odp_crypto_key_t *cipher_key,