aboutsummaryrefslogtreecommitdiff
path: root/test/validation/api/classification/odp_classification_test_pmr.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/validation/api/classification/odp_classification_test_pmr.c')
-rw-r--r--test/validation/api/classification/odp_classification_test_pmr.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/test/validation/api/classification/odp_classification_test_pmr.c b/test/validation/api/classification/odp_classification_test_pmr.c
index 9a2e32f4b..280e525af 100644
--- a/test/validation/api/classification/odp_classification_test_pmr.c
+++ b/test/validation/api/classification/odp_classification_test_pmr.c
@@ -836,8 +836,18 @@ static void classification_test_pmr_term_vlan_id_x(void)
pmr_param.match.mask = &mask;
pmr_param.val_sz = sizeof(val);
+ /* Single VLAN */
pkt_info = default_pkt_info;
pkt_info.vlan = true;
+ pkt = create_packet(pkt_info);
+ CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ vlan_x = (odph_vlanhdr_t *)(eth + 1);
+ vlan_x->tci = val;
+
+ test_pmr(&pmr_param, pkt, MATCH);
+
+ /* Two VLANs */
pkt_info.vlan_qinq = true;
pkt = create_packet(pkt_info);
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
@@ -848,6 +858,7 @@ static void classification_test_pmr_term_vlan_id_x(void)
test_pmr(&pmr_param, pkt, MATCH);
+ /* No VLAN */
pkt = create_packet(default_pkt_info);
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
@@ -941,8 +952,18 @@ static void classification_test_pmr_term_eth_type_x(void)
pmr_param.match.mask = &mask;
pmr_param.val_sz = sizeof(val);
+ /* Single VLAN */
pkt_info = default_pkt_info;
pkt_info.vlan = true;
+ pkt = create_packet(pkt_info);
+ CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ vlan_x = (odph_vlanhdr_t *)(eth + 1);
+ vlan_x->tci = odp_cpu_to_be_16(0x123);
+
+ test_pmr(&pmr_param, pkt, MATCH);
+
+ /* Two VLANs */
pkt_info.vlan_qinq = true;
pkt = create_packet(pkt_info);
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
@@ -950,10 +971,10 @@ static void classification_test_pmr_term_eth_type_x(void)
vlan_x = (odph_vlanhdr_t *)(eth + 1);
vlan_x++;
vlan_x->tci = odp_cpu_to_be_16(0x123);
- vlan_x->type = val;
test_pmr(&pmr_param, pkt, MATCH);
+ /* No VLAN */
pkt = create_packet(default_pkt_info);
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);