* [DTS][PATCH V1 1/4] test_plans/ice_dcf_switch_filter: update existing TO_VF action cases to cover port representor action from not covered vf original action
2022-09-30 5:46 [DTS][PATCH V1 0/4] update existing cases and add new sub-cases to validate port representor action and represented port action Ke Xu
@ 2022-09-30 5:46 ` Ke Xu
2022-09-30 5:46 ` [DTS][PATCH V1 2/4] test_plans/ice_dcf_switch_filter: update existing negative cases to validate represented port action and port representor action Ke Xu
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Ke Xu @ 2022-09-30 5:46 UTC (permalink / raw)
To: dts; +Cc: qi.fu, lijuan.tu, Ke Xu
Deprecated TO_VF action contains a 'vf original' action which is not covered in
previous tests. This commit applys equivilant 'vf original' rule to previous
cases for 'vf id' action to cover 'vf original' action.
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
.../ice_dcf_switch_filter_test_plan.rst | 430 ++++++++++++------
1 file changed, 288 insertions(+), 142 deletions(-)
diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst
index 7e161947..7eab578a 100644
--- a/test_plans/ice_dcf_switch_filter_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_test_plan.rst
@@ -233,6 +233,7 @@ Test case: MAC_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions port_representor port_id 0 / end
get the message::
@@ -247,6 +248,7 @@ Test case: MAC_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -255,22 +257,23 @@ Test case: MAC_PAY
sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(src="00:00:00:00:00:02",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:54")/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
sendp([Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IPv6()/Raw("x" *80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_FRAG
========================
@@ -278,6 +281,7 @@ Test case: MAC_IPV4_FRAG
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end
get the message::
@@ -292,6 +296,7 @@ Test case: MAC_IPV4_FRAG
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -300,7 +305,7 @@ Test case: MAC_IPV4_FRAG
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
@@ -309,7 +314,7 @@ Test case: MAC_IPV4_FRAG
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=5,ttl=2,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3,frag=5)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
@@ -317,7 +322,7 @@ Test case: MAC_IPV4_FRAG
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_PAY
=======================
@@ -325,6 +330,7 @@ Test case: MAC_IPV4_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end
get the message::
@@ -339,6 +345,7 @@ Test case: MAC_IPV4_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -347,7 +354,7 @@ Test case: MAC_IPV4_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
@@ -357,15 +364,16 @@ Test case: MAC_IPV4_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP()/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/UDP()/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_UDP_PAY
===========================
@@ -373,6 +381,7 @@ Test case: MAC_IPV4_UDP_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -387,6 +396,7 @@ Test case: MAC_IPV4_UDP_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -395,7 +405,7 @@ Test case: MAC_IPV4_UDP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -406,15 +416,16 @@ Test case: MAC_IPV4_UDP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_TCP_PAY
===========================
@@ -422,6 +433,7 @@ Test case: MAC_IPV4_TCP_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -436,6 +448,7 @@ Test case: MAC_IPV4_TCP_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -444,7 +457,7 @@ Test case: MAC_IPV4_TCP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -455,15 +468,16 @@ Test case: MAC_IPV4_TCP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_IGMP
========================
@@ -471,6 +485,7 @@ Test case: MAC_IPV4_IGMP
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions port_representor port_id 0 / end
get the message::
@@ -485,6 +500,7 @@ Test case: MAC_IPV4_IGMP
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -493,21 +509,22 @@ Test case: MAC_IPV4_IGMP
sendp([Ether(dst="00:11:22:33:44:55")/IP()/IGMP()/Raw("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/IP()/TCP()/Raw("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/Raw("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_srcip_dstip
===============================
@@ -518,6 +535,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions port_representor port_id 0 / end
get the message::
@@ -532,6 +550,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -541,7 +560,7 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)], iface="enp27s0f0", count=1)
@@ -549,15 +568,16 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_dstip_tc
============================
@@ -565,6 +585,7 @@ Test case: MAC_IPV6_dstip_tc
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions port_representor port_id 0 / end
get the message::
@@ -579,6 +600,7 @@ Test case: MAC_IPV6_dstip_tc
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -588,7 +610,7 @@ Test case: MAC_IPV6_dstip_tc
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)], iface="enp27s0f0", count=1)
@@ -598,15 +620,16 @@ Test case: MAC_IPV6_dstip_tc
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2023",tc=3)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=4)/IPv6ExtHdrFragment()/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_UDP_PAY
===========================
@@ -614,6 +637,7 @@ Test case: MAC_IPV6_UDP_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -628,6 +652,7 @@ Test case: MAC_IPV6_UDP_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -636,7 +661,7 @@ Test case: MAC_IPV6_UDP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
@@ -645,15 +670,16 @@ Test case: MAC_IPV6_UDP_PAY
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0",count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_TCP
=======================
@@ -661,6 +687,7 @@ Test case: MAC_IPV6_TCP
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -675,6 +702,7 @@ Test case: MAC_IPV6_TCP
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -683,7 +711,7 @@ Test case: MAC_IPV6_TCP
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="68:05:ca:8d:ed:a3")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
@@ -692,15 +720,16 @@ Test case: MAC_IPV6_TCP
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=30,dport=23)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=19)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
==========================================================
@@ -708,6 +737,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
get the message::
@@ -722,6 +752,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -731,7 +762,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -739,15 +770,16 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.4", dst="192.168.0.3",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.5",frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
=========================================================
@@ -755,6 +787,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
get the message::
@@ -769,6 +802,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -778,7 +812,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -786,15 +820,16 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.4", dst="192.168.0.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.5")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
=============================================================
@@ -802,6 +837,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -816,6 +852,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -824,21 +861,22 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23) /Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23) /Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=19) /Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
=========================================================
@@ -846,6 +884,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -860,6 +899,7 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 50 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -868,21 +908,22 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=29,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=100)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
==============================================================
@@ -890,6 +931,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
get the message::
@@ -904,6 +946,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -913,7 +956,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -922,15 +965,16 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.4", dst="192.168.0.3" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.5" ,frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
=============================================================
@@ -938,6 +982,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
get the message::
@@ -952,6 +997,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -961,7 +1007,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
@@ -970,15 +1016,16 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.4", dst="192.168.0.3") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.5") /TCP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
=================================================================
@@ -986,6 +1033,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1000,6 +1048,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1008,21 +1057,22 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=29)/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
=============================================================
@@ -1030,6 +1080,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1044,6 +1095,7 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / udp / vxlan vni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1052,21 +1104,22 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=20,dport=23)/Raw("x" * 80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_IPV4_PAY
===================================
@@ -1074,6 +1127,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end
get the message::
@@ -1088,6 +1142,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1097,7 +1152,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1109,15 +1164,16 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.4", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.5" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
======================================
@@ -1125,6 +1181,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1139,6 +1196,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1147,7 +1205,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
@@ -1157,15 +1215,16 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=20,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=19)/Raw("x"*80)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_IPV4_TCP
==================================
@@ -1173,6 +1232,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1187,6 +1247,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1195,7 +1256,7 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1205,15 +1266,16 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=20,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=39)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
======================================
@@ -1221,6 +1283,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end
get the message::
@@ -1235,6 +1298,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1244,7 +1308,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1258,15 +1322,16 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.4", dst="192.168.1.3" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.5" ,frag=5)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
==========================================
@@ -1274,6 +1339,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1288,6 +1354,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1296,7 +1363,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
@@ -1307,15 +1374,16 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=2,dport=23)/Raw("x"*80)], iface="enp27s0f0", count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=20)/Raw("x"*80)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
======================================
@@ -1323,6 +1391,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
get the message::
@@ -1337,6 +1406,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1345,7 +1415,7 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.2")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
@@ -1356,15 +1426,16 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=1,dport=23)/Raw("x"*80)],iface="enp27s0f0",count=1)
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=20)/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_PFCP_NODE
=============================
@@ -1372,6 +1443,7 @@ Test case: MAC_IPV4_PFCP_NODE
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions port_representor port_id 0 / end
get the message::
@@ -1386,6 +1458,7 @@ Test case: MAC_IPV4_PFCP_NODE
2. DUT create switch filter rules for MAC_IPV4_PFCP_NODE to VF1::
flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+ flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions port_representor port_id 0 / end
check the rule exists in the list.
@@ -1397,22 +1470,23 @@ Test case: MAC_IPV4_PFCP_NODE
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_PFCP_SESSION
================================
@@ -1420,6 +1494,7 @@ Test case: MAC_IPV4_PFCP_SESSION
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
get the message::
@@ -1434,6 +1509,7 @@ Test case: MAC_IPV4_PFCP_SESSION
2. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION to VF2::
flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
+ flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
check the rule exists in the list.
@@ -1445,22 +1521,23 @@ Test case: MAC_IPV4_PFCP_SESSION
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
- check port 4 receive the packet.
+ check port 0 and port 4 receive the packet.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
- check the packets are not to port 4.
+ check the packets are not to port 0 and port 4.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 4.
+ send matched packets, check the packets are not to port 0 and port 4.
Test case: MAC_IPV6_PFCP_NODE
=============================
@@ -1468,6 +1545,7 @@ Test case: MAC_IPV6_PFCP_NODE
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
get the message::
@@ -1482,6 +1560,7 @@ Test case: MAC_IPV6_PFCP_NODE
2. DUT create switch filter rules for MAC_IPV6_PFCP_NODE to VF3::
flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
+ flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 3 / end
check the rule exists in the list.
@@ -1493,22 +1572,23 @@ Test case: MAC_IPV6_PFCP_NODE
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_PFCP_SESSION
================================
@@ -1516,6 +1596,7 @@ Test case: MAC_IPV6_PFCP_SESSION
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -1530,6 +1611,7 @@ Test case: MAC_IPV6_PFCP_SESSION
2. DUT create switch filter rules for MAC_IPV6_PFCP_SESSION to VF1::
flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
+ flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions port_representor port_id 0 / end
check the rule exists in the list.
@@ -1541,22 +1623,23 @@ Test case: MAC_IPV6_PFCP_SESSION
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(Sfield=1),iface="enp134s0f1")
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(Sfield=0),iface="enp134s0f1")
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: IP multicast
=======================
@@ -1564,6 +1647,7 @@ Test case: IP multicast
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions port_representor port_id 0 / end
get the message::
@@ -1578,6 +1662,7 @@ Test case: IP multicast
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1586,20 +1671,21 @@ Test case: IP multicast
sendp([Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="128.0.0.0")/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: L2 multicast
=======================
@@ -1607,6 +1693,7 @@ Test case: L2 multicast
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions port_representor port_id 0 / end
get the message::
@@ -1621,6 +1708,7 @@ Test case: L2 multicast
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1629,20 +1717,21 @@ Test case: L2 multicast
sendp([Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="01:00:5e:ff:00:00")/IP()/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: ethertype filter_PPPOD
=================================
@@ -1650,6 +1739,7 @@ Test case: ethertype filter_PPPOD
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions port_representor port_id 0 / end
get the message::
@@ -1664,6 +1754,7 @@ Test case: ethertype filter_PPPOD
2. create a rule::
testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1672,20 +1763,21 @@ Test case: ethertype filter_PPPOD
sendp([Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x" *80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: ethertype filter_PPPOE
=================================
@@ -1693,6 +1785,7 @@ Test case: ethertype filter_PPPOE
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions port_representor port_id 0 / end
get the message::
@@ -1707,6 +1800,7 @@ Test case: ethertype filter_PPPOE
2. create a rule::
testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1715,20 +1809,21 @@ Test case: ethertype filter_PPPOE
sendp([Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: ethertype filter_IPV6
=================================
@@ -1736,6 +1831,7 @@ Test case: ethertype filter_IPV6
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions port_representor port_id 0 / end
get the message::
@@ -1750,6 +1846,7 @@ Test case: ethertype filter_IPV6
2. create a rule::
testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1759,20 +1856,21 @@ Test case: ethertype filter_IPV6
sendp([Ether(dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/IP()/TCP(dport=23)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: UDP port filter_DHCP discovery
=========================================
@@ -1783,6 +1881,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions port_representor port_id 0 / end
get the message::
@@ -1797,6 +1896,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1805,21 +1905,22 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=63,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=69)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: UDP port filter_DHCP offer
=====================================
@@ -1829,6 +1930,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions port_representor port_id 0 / end
get the message::
@@ -1843,6 +1945,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1851,21 +1954,22 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=63,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=63)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: UDP port filter_VXLAN
================================
@@ -1875,6 +1979,7 @@ Description: The UDP dst port number used by VXLAN is 4789.
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions port_representor port_id 0 / end
get the message::
@@ -1889,6 +1994,7 @@ Description: The UDP dst port number used by VXLAN is 4789.
2. create a rule::
testpmd> flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1897,20 +2003,21 @@ Description: The UDP dst port number used by VXLAN is 4789.
sendp([Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP()/Raw("x"*80)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_VLAN filter
==========================
@@ -1918,6 +2025,7 @@ Test case: MAC_VLAN filter
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -1932,6 +2040,7 @@ Test case: MAC_VLAN filter
2. create a rule::
testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1940,21 +2049,22 @@ Test case: MAC_VLAN filter
sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: VLAN filter
======================
@@ -1962,6 +2072,7 @@ Test case: VLAN filter
1. validate a rule::
testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -1976,6 +2087,7 @@ Test case: VLAN filter
2. create a rule::
testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1984,20 +2096,21 @@ Test case: VLAN filter
sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
- check port 3 receive the packets.
+ check port 0 and port 3 receive the packets.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)],iface="enp27s0f0",count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_L2TPv3
==========================
@@ -2005,6 +2118,7 @@ Test case: MAC_IPV4_L2TPv3
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2019,6 +2133,7 @@ Test case: MAC_IPV4_L2TPv3
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2027,22 +2142,23 @@ Test case: MAC_IPV4_L2TPv3
sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x02')/('X'*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst='00:11:22:33:44:12')/IP(src='192.168.1.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst='00:11:22:33:44:12')/IP(dst='192.168.0.2', proto=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_L2TPv3
==========================
@@ -2050,6 +2166,7 @@ Test case: MAC_IPV6_L2TPv3
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2064,6 +2181,7 @@ Test case: MAC_IPV6_L2TPv3
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2072,22 +2190,23 @@ Test case: MAC_IPV6_L2TPv3
sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x02')/('X'*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:9999', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst='00:11:22:33:44:13')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP('\x00\x00\x00\x01')/('X'*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_ESP
=======================
@@ -2095,6 +2214,7 @@ Test case: MAC_IPV4_ESP
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2109,6 +2229,7 @@ Test case: MAC_IPV4_ESP
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2117,22 +2238,23 @@ Test case: MAC_IPV4_ESP
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_ESP
=======================
@@ -2140,6 +2262,7 @@ Test case: MAC_IPV6_ESP
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2154,6 +2277,7 @@ Test case: MAC_IPV6_ESP
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2162,22 +2286,23 @@ Test case: MAC_IPV6_ESP
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_AH
======================
@@ -2185,6 +2310,7 @@ Test case: MAC_IPV4_AH
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2199,6 +2325,7 @@ Test case: MAC_IPV4_AH
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2207,22 +2334,23 @@ Test case: MAC_IPV4_AH
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_AH
======================
@@ -2230,6 +2358,7 @@ Test case: MAC_IPV6_AH
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2244,6 +2373,7 @@ Test case: MAC_IPV6_AH
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2252,22 +2382,23 @@ Test case: MAC_IPV6_AH
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV4_NAT-T-ESP
=============================
@@ -2275,6 +2406,7 @@ Test case: MAC_IPV4_NAT-T-ESP
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2289,6 +2421,7 @@ Test case: MAC_IPV4_NAT-T-ESP
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2297,22 +2430,23 @@ Test case: MAC_IPV4_NAT-T-ESP
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(src="192.168.1.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IP(dst="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test case: MAC_IPV6_NAT-T-ESP
=============================
@@ -2320,6 +2454,7 @@ Test case: MAC_IPV6_NAT-T-ESP
1. validate a rule::
testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow validate 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions port_representor port_id 0 / end
get the message::
@@ -2334,6 +2469,7 @@ Test case: MAC_IPV6_NAT-T-ESP
2. create a rule::
testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions port_representor port_id 0 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2342,22 +2478,23 @@ Test case: MAC_IPV6_NAT-T-ESP
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check port 3 receive the packet.
+ check port 0 and port 3 receive the packet.
send mismatched packets::
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
sendp([Ether(dst="00:11:22:33:44:13")/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)], iface="enp27s0f0", count=1)
- check the packets are not to port 3.
+ check the packets are not to port 0 and port 3.
4. verify rules can be destroyed::
testpmd> flow destroy 0 rule 0
+ testpmd> flow destroy 0 rule 1
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 3.
+ send matched packets, check the packets are not to port 0 and port 3.
Test Case: multirules test
==========================
@@ -2375,6 +2512,7 @@ Subcase 1: add existing rules but with different vfs
2. create rules with same pattern items but to different vfs::
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end
testpmd> flow list 0
@@ -2385,23 +2523,31 @@ Subcase 1: add existing rules but with different vfs
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
- check both port 3 and 4 receive the packet.
+ check port 0, port 3 and 4 receive the packet.
4. destroy the rule 0, and send the matched packets::
testpmd> flow destroy 0 rule 0
testpmd> flow list 0
- check only rule 1 exists in the list.
- send the same matched packets, check only port 4 receives the packets.
+ check only rule 1 and rule 2 exists in the list.
+ send the same matched packets, check only port 3 and port 4 receives the packets.
5. destroy rule 1, send the matched packets::
testpmd> flow destroy 0 rule 1
testpmd> flow list 0
+ check only rule 2 exists in the list.
+ send the same matched packets, check only port 4 receives the packets.
+
+6. destroy rule 2, send the matched packets::
+
+ testpmd> flow destroy 0 rule 2
+ testpmd> flow list 0
+
check no rule exists in the list
- send the same matched packets, check the packets are not to port 3 and 4.
+ send the same matched packets, check the packets are not to port 0 or port 3 or 4.
Subcase 2: add existing rules with the same vfs
-----------------------------------------------
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [DTS][PATCH V1 3/4] tests/ice_dcf_switch_filter: update existing TO_VF action cases to cover port representor action from not covered vf original action
2022-09-30 5:46 [DTS][PATCH V1 0/4] update existing cases and add new sub-cases to validate port representor action and represented port action Ke Xu
2022-09-30 5:46 ` [DTS][PATCH V1 1/4] test_plans/ice_dcf_switch_filter: update existing TO_VF action cases to cover port representor action from not covered vf original action Ke Xu
2022-09-30 5:46 ` [DTS][PATCH V1 2/4] test_plans/ice_dcf_switch_filter: update existing negative cases to validate represented port action and port representor action Ke Xu
@ 2022-09-30 5:46 ` Ke Xu
2022-09-30 5:46 ` [DTS][PATCH V1 4/4] tests/ice_dcf_switch_filter: update existing negative cases to validate represented port action and port representor action Ke Xu
3 siblings, 0 replies; 7+ messages in thread
From: Ke Xu @ 2022-09-30 5:46 UTC (permalink / raw)
To: dts; +Cc: qi.fu, lijuan.tu, Ke Xu
Deprecated TO_VF action contains a 'vf original' action which is not covered in
previous tests. This commit applys equivilant 'vf original' rule to previous
cases for 'vf id' action to cover 'vf original' action.
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
tests/TestSuite_ice_dcf_switch_filter.py | 551 ++++++++++++++---------
1 file changed, 339 insertions(+), 212 deletions(-)
diff --git a/tests/TestSuite_ice_dcf_switch_filter.py b/tests/TestSuite_ice_dcf_switch_filter.py
index 6510bf2c..c68ae3f5 100644
--- a/tests/TestSuite_ice_dcf_switch_filter.py
+++ b/tests/TestSuite_ice_dcf_switch_filter.py
@@ -16,16 +16,19 @@ from framework.utils import BLUE, GREEN, RED
tv_mac_pay = {
"name": "tv_mac_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth src is 00:00:00:00:00:01 dst is 00:11:22:33:44:55 type is 0x0800 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(src="00:00:00:00:00:01",dst="00:11:22:33:44:55")/IP()/Raw("x" *80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -35,24 +38,27 @@ tv_mac_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_frag = {
"name": "tv_mac_ipv4_frag",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2,frag=5)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -64,24 +70,27 @@ tv_mac_ipv4_frag = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_pay = {
"name": "tv_mac_ipv4_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 proto is 6 tos is 4 ttl is 2 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -94,24 +103,27 @@ tv_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_udp_pay = {
"name": "tv_mac_ipv4_udp_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/UDP(sport=25,dport=23)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -125,24 +137,27 @@ tv_mac_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_tcp_pay = {
"name": "tv_mac_ipv4_tcp_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=3)/TCP(sport=25,dport=23)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -156,22 +171,25 @@ tv_mac_ipv4_tcp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_igmp = {
"name": "tv_mac_ipv4_igmp",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/IGMP()/Raw("X"*480)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -180,15 +198,18 @@ tv_mac_ipv4_igmp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_srcip_dstip = {
"name": "tv_mac_ipv6_srcip_dstip",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)',
@@ -196,9 +217,9 @@ tv_mac_ipv6_srcip_dstip = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 2},
+ "expect_results": {"expect_pkts": [2, 2]},
},
"mismatched": {
"scapy_str": [
@@ -209,15 +230,18 @@ tv_mac_ipv6_srcip_dstip = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_dstip_tc = {
"name": "tv_mac_ipv6_dstip_tc",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/("X"*480)',
@@ -225,9 +249,9 @@ tv_mac_ipv6_dstip_tc = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 2},
+ "expect_results": {"expect_pkts": [2, 2]},
},
"mismatched": {
"scapy_str": [
@@ -240,24 +264,27 @@ tv_mac_ipv6_dstip_tc = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_udp_pay = {
"name": "tv_mac_ipv6_udp_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=25,dport=23)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -269,24 +296,27 @@ tv_mac_ipv6_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_tcp = {
"name": "tv_mac_ipv6_tcp",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 tc is 3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -298,15 +328,18 @@ tv_mac_ipv6_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_ipv4_pay = {
"name": "tv_mac_ipv4_nvgre_ipv4_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -314,9 +347,9 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 2},
+ "expect_results": {"expect_pkts": [2, 2]},
},
"mismatched": {
"scapy_str": [
@@ -331,24 +364,27 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_ipv4_udp_pay = {
"name": "tv_mac_ipv4_nvgre_ipv4_udp_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -361,24 +397,27 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_ipv4_tcp = {
"name": "tv_mac_ipv4_nvgre_ipv4_tcp",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether()/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -391,15 +430,18 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_mac_ipv4_pay = {
"name": "tv_mac_ipv4_nvgre_mac_ipv4_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/Raw("x"*80)',
@@ -407,9 +449,9 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 2},
+ "expect_results": {"expect_pkts": [2, 2]},
},
"mismatched": {
"scapy_str": [
@@ -426,24 +468,27 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
"name": "tv_mac_ipv4_nvgre_mac_ipv4_udp_pay",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/UDP(sport=25,dport=23)/Raw("x"*80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -457,24 +502,27 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
"name": "tv_mac_ipv4_nvgre_mac_ipv4_tcp",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.1 / nvgre tni is 2 / eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / tcp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/NVGRE(TNI=2)/Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.1.2", dst="192.168.1.3")/TCP(sport=25,dport=23)/Raw("x"*80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -488,24 +536,27 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
"name": "tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -516,24 +567,27 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
"name": "tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -544,24 +598,27 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
"name": "tv_mac_pppoe_ipv4_pay_session_id_proto_id",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x21\')/IP()/Raw("x" * 80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -571,24 +628,27 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
"name": "tv_mac_pppoe_ipv6_pay_session_id_proto_id",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0057 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(b\'\\x00\\x57\')/IPv6()/Raw("x" * 80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -598,101 +658,116 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_ip_multicast = {
"name": "tv_ip_multicast",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst spec 224.0.0.0 dst mask 240.0.0.0 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": ['Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": ['Ether()/IP(dst="128.0.0.0")/TCP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_l2_multicast = {
"name": "tv_l2_multicast",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst spec 01:00:5e:00:00:00 dst mask ff:ff:ff:80:00:00 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": ['Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": ['Ether(dst="01:00:5e:ff:00:00")/IP()/TCP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_ethertype_filter_pppod = {
"name": "tv_ethertype_filter_pppod",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth type is 0x8863 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x" *80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x" *80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_ethertype_filter_pppoe = {
"name": "tv_ethertype_filter_pppoe",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth type is 0x8864 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoE()/PPP()/IP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/PPPoED()/PPP()/IP()/Raw("x"*80)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_ethertype_filter_ipv6 = {
"name": "tv_ethertype_filter_ipv6",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth type is 0x86dd / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55")/IPv6(dst="CDCD:910A:2222:5498:8475:1111:3900:2020", tc=3)/TCP(dport=23)/("X"*480)',
@@ -700,32 +775,35 @@ tv_ethertype_filter_ipv6 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 2},
+ "expect_results": {"expect_pkts": [2, 2]},
},
"mismatched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/TCP(dport=23)/("X"*480)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_udp_port_filter_dhcp_discovery = {
"name": "tv_udp_port_filter_dhcp_discovery",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=68,dport=67)/BOOTP(chaddr="3c:fd:fe:b2:43:90")/DHCP(options=[("message-type","discover"),"end"])/Raw("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -734,24 +812,27 @@ tv_udp_port_filter_dhcp_discovery = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_udp_port_filter_dhcp_offer = {
"name": "tv_udp_port_filter_dhcp_offer",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=67,dport=68)/BOOTP(chaddr="3c:fd:fe:b2:43:90",yiaddr="192.168.1.0")/DHCP(options=[("message-type","offer"),"end"])/Raw("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -760,24 +841,27 @@ tv_udp_port_filter_dhcp_offer = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_udp_port_filter_vxlan = {
"name": "tv_udp_port_filter_vxlan",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether()/IP(dst="192.168.0.1")/UDP()/VXLAN(vni=2)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3",frag=5)/TCP()/Raw("x"*80)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -785,24 +869,27 @@ tv_udp_port_filter_vxlan = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_vlan_filter = {
"name": "tv_mac_vlan_filter",
- "rte_flow_pattern": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -811,24 +898,27 @@ tv_mac_vlan_filter = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_vlan_filter = {
"name": "tv_vlan_filter",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / vlan tci is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/Raw("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -836,24 +926,27 @@ tv_vlan_filter = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_l2tpv3 = {
"name": "tv_mac_ipv4_l2tpv3",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
"Ether(dst='00:11:22:33:44:12')/IP(src='192.168.0.2', proto=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -863,24 +956,27 @@ tv_mac_ipv4_l2tpv3 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_l2tpv3 = {
"name": "tv_mac_ipv6_l2tpv3",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / l2tpv3oip session_id is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
"Ether(dst='00:11:22:33:44:13')/IPv6(dst='1111:2222:3333:4444:5555:6666:7777:8888', nh=115)/L2TP(b'\\x00\\x00\\x00\\x01')/('X'*480)"
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -890,24 +986,27 @@ tv_mac_ipv6_l2tpv3 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_esp = {
"name": "tv_mac_ipv4_esp",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=50)/ESP(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -917,24 +1016,27 @@ tv_mac_ipv4_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_esp = {
"name": "tv_mac_ipv6_esp",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / esp spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=50)/ESP(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -944,24 +1046,27 @@ tv_mac_ipv6_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_ah = {
"name": "tv_mac_ipv4_ah",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2", proto=51)/AH(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -971,24 +1076,27 @@ tv_mac_ipv4_ah = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_ah = {
"name": "tv_mac_ipv6_ah",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / ah spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888", nh=51)/AH(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -998,24 +1106,27 @@ tv_mac_ipv6_ah = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_nat_t_esp = {
"name": "tv_mac_ipv4_nat_t_esp",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IP(src="192.168.0.2")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1025,24 +1136,27 @@ tv_mac_ipv4_nat_t_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_nat_t_esp = {
"name": "tv_mac_ipv6_nat_t_esp",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 priority 0 ingress pattern eth / ipv6 dst is 1111:2222:3333:4444:5555:6666:7777:8888 / udp / esp spi is 1 / end actions port_representor port_id 0 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:13")/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=1)/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1052,9 +1166,9 @@ tv_mac_ipv6_nat_t_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
@@ -1078,6 +1192,7 @@ tv_actions_vf_id_0 = {
tv_add_existing_rules_but_with_different_vfs = {
"name": "tv_add_existing_rules_but_with_different_vfs",
"rte_flow_pattern": [
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions port_representor port_id 0 / end",
"flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 1 / end",
"flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 dst is 192.168.0.2 tos is 4 ttl is 3 / udp src is 25 dst is 23 / end actions represented_port ethdev_port_id 2 / end",
],
@@ -1087,9 +1202,9 @@ tv_add_existing_rules_but_with_different_vfs = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": [3, 4], "expect_queues": "null"},
+ "param": {"expect_port": [0, 3, 4], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": [1, 1]},
+ "expect_results": {"expect_pkts": [1, 1, 1]},
},
"mismatched": {},
}
@@ -1226,14 +1341,17 @@ tv_max_rule_number = {
tv_mac_ipv4_pfcp_node = {
"name": "tv_mac_ipv4_pfcp_node",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ ],
"matched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=0)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1243,22 +1361,25 @@ tv_mac_ipv4_pfcp_node = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv4_pfcp_session = {
"name": "tv_mac_ipv4_pfcp_session",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ ],
"matched": {
"scapy_str": ['Ether(dst="00:11:22:33:44:11")/IP()/UDP(dport=8805)/PFCP(S=1)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1268,24 +1389,27 @@ tv_mac_ipv4_pfcp_session = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_pfcp_node = {
"name": "tv_mac_ipv6_pfcp_node",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=0)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1295,24 +1419,27 @@ tv_mac_ipv6_pfcp_node = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
tv_mac_ipv6_pfcp_session = {
"name": "tv_mac_ipv6_pfcp_session",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "rte_flow_pattern": [
+ "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end",
+ ],
"matched": {
"scapy_str": [
'Ether(dst="00:11:22:33:44:11")/IPv6()/UDP(dport=8805)/PFCP(S=1)'
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 1},
+ "expect_results": {"expect_pkts": [1, 1]},
},
"mismatched": {
"scapy_str": [
@@ -1322,9 +1449,9 @@ tv_mac_ipv6_pfcp_session = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 3, "expect_queues": "null"},
+ "param": {"expect_port": [0, 3], "expect_queues": "null"},
},
- "expect_results": {"expect_pkts": 0},
+ "expect_results": {"expect_pkts": [0, 0]},
},
}
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread