aboutsummaryrefslogtreecommitdiff
path: root/test/validation/api
diff options
context:
space:
mode:
authorAakash Sasidharan <asasidharan@marvell.com>2021-05-03 19:35:07 +0530
committerPetri Savolainen <petri.savolainen@nokia.com>2021-05-31 13:26:57 +0300
commit8d3851e136aa38336a550cd6e9696bf225a75926 (patch)
treed3b4d379c21da73d13a078ea84e6d1d75b23c2b0 /test/validation/api
parent354436420de43e51281af685471f59a882f18089 (diff)
validation: ipsec: check if success_bytes is updated
Check if stats.succes_bytes is updated for stats success tests. Also remove rundundant check for inbound SA stats from the current code. Signed-off-by: Aakash Sasidharan <asasidharan@marvell.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Diffstat (limited to 'test/validation/api')
-rw-r--r--test/validation/api/ipsec/ipsec_test_out.c38
1 files changed, 28 insertions, 10 deletions
diff --git a/test/validation/api/ipsec/ipsec_test_out.c b/test/validation/api/ipsec/ipsec_test_out.c
index 15342dac4..7c1121579 100644
--- a/test/validation/api/ipsec/ipsec_test_out.c
+++ b/test/validation/api/ipsec/ipsec_test_out.c
@@ -359,17 +359,19 @@ static void test_ipsec_stats_zero_assert(odp_ipsec_stats_t *stats)
CU_ASSERT_EQUAL(stats->mtu_err, 0);
CU_ASSERT_EQUAL(stats->hard_exp_bytes_err, 0);
CU_ASSERT_EQUAL(stats->hard_exp_pkts_err, 0);
+ CU_ASSERT_EQUAL(stats->success_bytes, 0);
}
static void test_ipsec_stats_test_assert(odp_ipsec_stats_t *stats,
- enum ipsec_test_stats test)
+ enum ipsec_test_stats test,
+ uint64_t succ_bytes)
{
if (test == IPSEC_TEST_STATS_SUCCESS) {
- /* Braces needed by CU macro */
CU_ASSERT_EQUAL(stats->success, 1);
+ CU_ASSERT(stats->success_bytes >= succ_bytes);
} else {
- /* Braces needed by CU macro */
CU_ASSERT_EQUAL(stats->success, 0);
+ CU_ASSERT_EQUAL(stats->success_bytes, 0);
}
if (test == IPSEC_TEST_STATS_PROTO_ERR) {
@@ -606,20 +608,36 @@ static void test_out_in_common(const ipsec_test_flags *flags,
ipsec_check_out_in_one(&test_out, &test_in, sa_out, sa_in, flags);
- if (flags->stats == IPSEC_TEST_STATS_SUCCESS) {
- CU_ASSERT_EQUAL(odp_ipsec_stats(sa_in, &stats), 0);
- test_ipsec_stats_test_assert(&stats, flags->stats);
- }
-
if (flags->stats != IPSEC_TEST_STATS_NONE) {
+ uint64_t succ_bytes = 0;
+
+ /* Minimum bytes to be counted for stats.success_bytes */
+ if (!flags->ah) {
+ succ_bytes = test_out.pkt_in[0].len -
+ test_out.pkt_in[0].l4_offset;
+
+ if (flags->tunnel)
+ succ_bytes += test_out.pkt_in[0].l4_offset -
+ test_out.pkt_in[0].l3_offset;
+ } else {
+ succ_bytes = test_out.pkt_in[0].len -
+ test_out.pkt_in[0].l3_offset;
+
+ if (flags->tunnel)
+ succ_bytes += (flags->tunnel_is_v6 ?
+ ODPH_IPV6HDR_LEN :
+ ODPH_IPV4HDR_LEN);
+ }
+
/* All stats tests have outbound operation success and inbound
* varying.
*/
CU_ASSERT_EQUAL(odp_ipsec_stats(sa_out, &stats), 0);
- test_ipsec_stats_test_assert(&stats, IPSEC_TEST_STATS_SUCCESS);
+ test_ipsec_stats_test_assert(&stats, IPSEC_TEST_STATS_SUCCESS,
+ succ_bytes);
CU_ASSERT_EQUAL(odp_ipsec_stats(sa_in, &stats), 0);
- test_ipsec_stats_test_assert(&stats, flags->stats);
+ test_ipsec_stats_test_assert(&stats, flags->stats, succ_bytes);
}
ipsec_sa_destroy(sa_out);