aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2016-01-15 18:10:19 +0200
committerIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2016-02-12 18:55:21 +0200
commitb487640c4327c26335d3abf802f1352aea6aa9c8 (patch)
treea6fc227569981673860783b1db32196260dc5e74
parent11e40e51f0742221ff1cba13854de7f7a0508a9f (diff)
validation: cls: use correct MAC addresses
If pktio is in not promisc mode, a packet should contain correct MAC address. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
-rw-r--r--test/validation/classification/odp_classification_test_pmr.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/validation/classification/odp_classification_test_pmr.c b/test/validation/classification/odp_classification_test_pmr.c
index f15f4d8e..e9cc19da 100644
--- a/test/validation/classification/odp_classification_test_pmr.c
+++ b/test/validation/classification/odp_classification_test_pmr.c
@@ -156,6 +156,7 @@ void classification_test_pmr_term_tcp_dport(void)
odp_pool_t pool;
odp_pool_t pool_recv;
odp_pmr_match_t match;
+ odph_ethhdr_t *eth;
val = CLS_DEFAULT_DPORT;
mask = 0xffff;
@@ -200,6 +201,9 @@ void classification_test_pmr_term_tcp_dport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
tcp = (odph_tcphdr_t *)odp_packet_l4_ptr(pkt, NULL);
tcp->dst_port = odp_cpu_to_be_16(CLS_DEFAULT_DPORT);
@@ -220,6 +224,9 @@ void classification_test_pmr_term_tcp_dport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
tcp = (odph_tcphdr_t *)odp_packet_l4_ptr(pkt, NULL);
tcp->dst_port = odp_cpu_to_be_16(CLS_DEFAULT_DPORT + 1);
@@ -266,6 +273,7 @@ void classification_test_pmr_term_tcp_sport(void)
char cosname[ODP_COS_NAME_LEN];
odp_cls_cos_param_t cls_param;
odp_pmr_match_t match;
+ odph_ethhdr_t *eth;
val = CLS_DEFAULT_SPORT;
mask = 0xffff;
@@ -309,6 +317,9 @@ void classification_test_pmr_term_tcp_sport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
tcp = (odph_tcphdr_t *)odp_packet_l4_ptr(pkt, NULL);
tcp->src_port = odp_cpu_to_be_16(CLS_DEFAULT_SPORT);
@@ -327,6 +338,9 @@ void classification_test_pmr_term_tcp_sport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
tcp = (odph_tcphdr_t *)odp_packet_l4_ptr(pkt, NULL);
tcp->src_port = odp_cpu_to_be_16(CLS_DEFAULT_SPORT + 1);
@@ -373,6 +387,7 @@ void classification_test_pmr_term_udp_dport(void)
char cosname[ODP_COS_NAME_LEN];
odp_pmr_match_t match;
odp_cls_cos_param_t cls_param;
+ odph_ethhdr_t *eth;
val = CLS_DEFAULT_DPORT;
mask = 0xffff;
@@ -416,6 +431,9 @@ void classification_test_pmr_term_udp_dport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
udp = (odph_udphdr_t *)odp_packet_l4_ptr(pkt, NULL);
udp->dst_port = odp_cpu_to_be_16(CLS_DEFAULT_DPORT);
@@ -435,6 +453,9 @@ void classification_test_pmr_term_udp_dport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
udp = (odph_udphdr_t *)odp_packet_l4_ptr(pkt, NULL);
udp->dst_port = odp_cpu_to_be_16(CLS_DEFAULT_DPORT + 1);
@@ -481,6 +502,7 @@ void classification_test_pmr_term_udp_sport(void)
char cosname[ODP_COS_NAME_LEN];
odp_pmr_match_t match;
odp_cls_cos_param_t cls_param;
+ odph_ethhdr_t *eth;
val = CLS_DEFAULT_SPORT;
mask = 0xffff;
@@ -524,6 +546,9 @@ void classification_test_pmr_term_udp_sport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
udp = (odph_udphdr_t *)odp_packet_l4_ptr(pkt, NULL);
udp->src_port = odp_cpu_to_be_16(CLS_DEFAULT_SPORT);
@@ -542,6 +567,9 @@ void classification_test_pmr_term_udp_sport(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
udp = (odph_udphdr_t *)odp_packet_l4_ptr(pkt, NULL);
udp->src_port = odp_cpu_to_be_16(CLS_DEFAULT_SPORT + 1);
@@ -587,6 +615,7 @@ void classification_test_pmr_term_ipproto(void)
char cosname[ODP_COS_NAME_LEN];
odp_cls_cos_param_t cls_param;
odp_pmr_match_t match;
+ odph_ethhdr_t *eth;
val = ODPH_IPPROTO_UDP;
mask = 0xff;
@@ -630,6 +659,9 @@ void classification_test_pmr_term_ipproto(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
enqueue_pktio_interface(pkt, pktio);
@@ -646,6 +678,9 @@ void classification_test_pmr_term_ipproto(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
enqueue_pktio_interface(pkt, pktio);
@@ -689,6 +724,7 @@ static void classification_test_pmr_pool_set(void)
char cosname[ODP_COS_NAME_LEN];
odp_cls_cos_param_t cls_param;
odp_pmr_match_t match;
+ odph_ethhdr_t *eth;
val = ODPH_IPPROTO_UDP;
mask = 0xff;
@@ -739,6 +775,9 @@ static void classification_test_pmr_pool_set(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
enqueue_pktio_interface(pkt, pktio);
@@ -783,6 +822,7 @@ static void classification_test_pmr_queue_set(void)
char cosname[ODP_COS_NAME_LEN];
odp_cls_cos_param_t cls_param;
odp_pmr_match_t match;
+ odph_ethhdr_t *eth;
val = ODPH_IPPROTO_UDP;
mask = 0xff;
@@ -833,6 +873,9 @@ static void classification_test_pmr_queue_set(void)
CU_ASSERT_FATAL(pkt != ODP_PACKET_INVALID);
seqno = cls_pkt_get_seq(pkt);
CU_ASSERT(seqno != TEST_SEQ_INVALID);
+ eth = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL);
+ odp_pktio_mac_addr(pktio, eth->src.addr, ODPH_ETHADDR_LEN);
+ odp_pktio_mac_addr(pktio, eth->dst.addr, ODPH_ETHADDR_LEN);
enqueue_pktio_interface(pkt, pktio);