* [DTS][PATCH V4 1/2] test_plans/ice_dcf_switch_filter: update test plan to support represented port action from deprecated vf action
2022-12-06 10:43 [DTS][PATCH V4 0/2] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_switch_filter Ke Xu
@ 2022-12-06 10:43 ` Ke Xu
2022-12-06 10:43 ` [DTS][PATCH V4 2/2] tests/ice_dcf_switch_filter: " Ke Xu
1 sibling, 0 replies; 5+ messages in thread
From: Ke Xu @ 2022-12-06 10:43 UTC (permalink / raw)
To: dts; +Cc: lijuan.tu, qi.fu, ke1.xu
A new API is introduced to replace the VF actions in DPDK 22.11. To support This
new API, several modifications are made.
In negative cases, subcase 8: invalid vf id and the corresponding negative validate
case is removed for introducing of new API is not using vf id. New API may
introduce invalid port id and that will be covered by a new subcase added in the
patch to cover new API.
Testpmd args are modified to support appyling representors for the new API. Rules
are modified for the old API being deprecated, changing to the new API. Ports id
are modified corresponding to the port representors and modified API.
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
.../ice_dcf_switch_filter_test_plan.rst | 668 +++++++++---------
1 file changed, 319 insertions(+), 349 deletions(-)
diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst
index 1c089c61..a04567b0 100644
--- a/test_plans/ice_dcf_switch_filter_test_plan.rst
+++ b/test_plans/ice_dcf_switch_filter_test_plan.rst
@@ -1,5 +1,5 @@
.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2021 Intel Corporation
+ Copyright(c) 2021-2022 Intel Corporation
===========================
ICE DCF Switch Filter Tests
@@ -202,10 +202,12 @@ Prerequisites
modprobe vfio-pci
./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0 0000:18:01.1 0000:18:01.2 0000:18:01.3
-9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode::
+9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode, representing VF1 and VF2::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -- -i
- testpmd> set portlist 1
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 \
+ -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 \
+ -- -i
+ testpmd> set portlist 3,4
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
@@ -230,7 +232,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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -244,7 +246,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -253,14 +255,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -268,14 +270,14 @@ Test case: MAC_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -289,7 +291,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -298,7 +300,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 1 receive the packet.
+ check 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)
@@ -307,7 +309,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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -315,14 +317,14 @@ 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 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -336,7 +338,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -345,7 +347,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 1 receive the packet.
+ check 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)
@@ -355,7 +357,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -363,14 +365,14 @@ Test case: MAC_IPV4_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -384,7 +386,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 vf 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 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -393,7 +395,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 1 receive the packet.
+ check 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)
@@ -404,7 +406,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -412,14 +414,14 @@ Test case: MAC_IPV4_UDP_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -433,7 +435,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -442,7 +444,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 1 receive the packet.
+ check 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)
@@ -453,7 +455,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -461,14 +463,14 @@ Test case: MAC_IPV4_TCP_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: MAC_IPV4_IGMP
========================
1. validate a rule::
- testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -482,7 +484,7 @@ Test case: MAC_IPV4_IGMP
2. create a rule::
- testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -491,13 +493,13 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -505,7 +507,7 @@ Test case: MAC_IPV4_IGMP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: MAC_IPV6_srcip_dstip
===============================
@@ -515,7 +517,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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -529,7 +531,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -539,7 +541,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 1 receive the packets.
+ check 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)
@@ -547,7 +549,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: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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -555,14 +557,14 @@ Therefore, if a rule carries src ipv6, dst ipv6, it can not take any other field
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -576,7 +578,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -586,7 +588,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 1 receive the packet.
+ check 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)
@@ -596,7 +598,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: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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -604,14 +606,14 @@ Test case: MAC_IPV6_dstip_tc
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -625,7 +627,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -634,7 +636,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 1 receive the packet.
+ check 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)
@@ -643,7 +645,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -651,14 +653,14 @@ Test case: MAC_IPV6_UDP_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -672,7 +674,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -681,7 +683,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 1 receive the packet.
+ check 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)
@@ -690,7 +692,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -698,14 +700,14 @@ Test case: MAC_IPV6_TCP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -719,7 +721,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -729,7 +731,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 1 receive the packets.
+ check 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)
@@ -737,7 +739,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -745,14 +747,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_FRAG (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -766,7 +768,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -776,7 +778,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 1 receive the packets.
+ check 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)
@@ -784,7 +786,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -792,14 +794,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_PAY (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -813,7 +815,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -822,13 +824,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -836,14 +838,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_UDP_PAY (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -857,7 +859,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -866,13 +868,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -880,14 +882,14 @@ Test case: MAC_IPV4_VXLAN_IPV4_TCP (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -901,7 +903,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -911,7 +913,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 1 receive the packets.
+ check 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)
@@ -920,7 +922,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -928,14 +930,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_FRAG (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -949,7 +951,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -959,7 +961,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 1 receive the packets.
+ check 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)
@@ -968,7 +970,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -976,14 +978,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_PAY (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -997,7 +999,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1006,13 +1008,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1020,14 +1022,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_UDP_PAY (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1041,7 +1043,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1050,13 +1052,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1064,14 +1066,14 @@ Test case: MAC_IPV4_VXLAN_MAC_IPV4_TCP (not support in 20.05)
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1085,7 +1087,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1095,7 +1097,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 1 receive the packets.
+ check 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)
@@ -1107,7 +1109,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1115,14 +1117,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1136,7 +1138,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1145,7 +1147,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 1 receive the packets.
+ check 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)
@@ -1155,7 +1157,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1163,14 +1165,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_UDP_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1184,7 +1186,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1193,7 +1195,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 1 receive the packets.
+ check 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)
@@ -1203,7 +1205,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1211,14 +1213,14 @@ Test case: MAC_IPV4_NVGRE_IPV4_TCP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1232,7 +1234,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1242,7 +1244,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 1 receive the packets.
+ check 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)
@@ -1256,7 +1258,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.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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1264,14 +1266,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1285,7 +1287,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1294,7 +1296,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 1 receive the packets.
+ check 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)
@@ -1305,7 +1307,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1313,14 +1315,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1334,7 +1336,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1343,7 +1345,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 1 receive the packets.
+ check 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)
@@ -1354,7 +1356,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=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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1362,14 +1364,14 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1383,7 +1385,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 vf 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
check the rule exists in the list.
@@ -1395,14 +1397,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1410,14 +1412,14 @@ Test case: MAC_IPV4_PFCP_NODE
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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::
@@ -1431,7 +1433,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 vf 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.
@@ -1443,14 +1445,14 @@ 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 2 receive the packet.
+ check 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 2.
+ check the packets are not to port 4.
4. verify rules can be destroyed::
@@ -1458,14 +1460,14 @@ Test case: MAC_IPV4_PFCP_SESSION
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 2.
+ send matched packets, check the packets are not to port 4.
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 vf 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::
@@ -1479,7 +1481,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 vf 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.
@@ -1513,7 +1515,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 vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1527,7 +1529,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 vf 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
check the rule exists in the list.
@@ -1539,14 +1541,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1554,14 +1556,14 @@ Test case: MAC_IPV6_PFCP_SESSION
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1575,7 +1577,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1584,12 +1586,12 @@ Test case: IP multicast
sendp([Ether()/IP(dst="239.0.0.0")/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1597,14 +1599,14 @@ Test case: IP multicast
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -1618,7 +1620,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1627,12 +1629,12 @@ Test case: L2 multicast
sendp([Ether(dst="01:00:5e:7f:00:00")/IP()/TCP()/Raw("x"*80)], iface="enp27s0f0", count=1)
- check port 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1640,14 +1642,14 @@ Test case: L2 multicast
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: ethertype filter_PPPOD
=================================
1. validate a rule::
- testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1661,7 +1663,7 @@ Test case: ethertype filter_PPPOD
2. create a rule::
- testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1670,12 +1672,12 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1683,14 +1685,14 @@ Test case: ethertype filter_PPPOD
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: ethertype filter_PPPOE
=================================
1. validate a rule::
- testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1704,7 +1706,7 @@ Test case: ethertype filter_PPPOE
2. create a rule::
- testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1713,12 +1715,12 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1726,14 +1728,14 @@ Test case: ethertype filter_PPPOE
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: ethertype filter_IPV6
=================================
1. validate a rule::
- testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1747,7 +1749,7 @@ Test case: ethertype filter_IPV6
2. create a rule::
- testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1757,12 +1759,12 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1770,7 +1772,7 @@ Test case: ethertype filter_IPV6
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: UDP port filter_DHCP discovery
=========================================
@@ -1780,7 +1782,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 vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 68 dst is 67 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1794,7 +1796,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 vf id 1 / end
+ 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 list 0
check the rule exists in the list.
@@ -1803,13 +1805,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1817,7 +1819,7 @@ Therefore, for DHCP discovery packets, the udp srcport is 68 and the dstport is
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: UDP port filter_DHCP offer
=====================================
@@ -1826,7 +1828,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 vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp src is 67 dst is 68 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1840,7 +1842,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 vf id 1 / end
+ 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 list 0
check the rule exists in the list.
@@ -1849,13 +1851,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1863,7 +1865,7 @@ Description: For DHCP offer packets, the udp srcport is 67 and the dstport is 68
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: UDP port filter_VXLAN
================================
@@ -1872,7 +1874,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 vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1886,7 +1888,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 vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp dst is 4789 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1895,12 +1897,12 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1908,14 +1910,14 @@ Description: The UDP dst port number used by VXLAN is 4789.
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf id 1 / end
+ 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
get the message::
@@ -1929,7 +1931,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 vf id 1 / end
+ 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 list 0
check the rule exists in the list.
@@ -1938,13 +1940,13 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1952,14 +1954,14 @@ Test case: MAC_VLAN filter
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: VLAN filter
======================
1. validate a rule::
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
get the message::
@@ -1973,7 +1975,7 @@ Test case: VLAN filter
2. create a rule::
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -1982,12 +1984,12 @@ 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 1 receive the packets.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -1995,14 +1997,14 @@ Test case: VLAN filter
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2016,7 +2018,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2025,14 +2027,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2040,14 +2042,14 @@ Test case: MAC_IPV4_L2TPv3
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2061,7 +2063,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2070,14 +2072,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2085,14 +2087,14 @@ Test case: MAC_IPV6_L2TPv3
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2106,7 +2108,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2115,14 +2117,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2130,14 +2132,14 @@ Test case: MAC_IPV4_ESP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2151,7 +2153,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2160,14 +2162,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2175,14 +2177,14 @@ Test case: MAC_IPV6_ESP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2196,7 +2198,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2205,14 +2207,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2220,14 +2222,14 @@ Test case: MAC_IPV4_AH
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2241,7 +2243,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2250,14 +2252,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2265,14 +2267,14 @@ Test case: MAC_IPV6_AH
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2286,7 +2288,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2295,14 +2297,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2310,14 +2312,14 @@ Test case: MAC_IPV4_NAT-T-ESP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
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 vf 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 represented_port ethdev_port_id 1 / end
get the message::
@@ -2331,7 +2333,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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2340,14 +2342,14 @@ 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 1 receive the packet.
+ check 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 1.
+ check the packets are not to port 3.
4. verify rules can be destroyed::
@@ -2355,7 +2357,7 @@ Test case: MAC_IPV6_NAT-T-ESP
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test Case: multirules test
==========================
@@ -2363,18 +2365,18 @@ Test Case: multirules test
Subcase 1: add existing rules but with different vfs
----------------------------------------------------
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1, VF2::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
- testpmd> set portlist 1,2
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+ testpmd> set portlist 3,4
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
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 vf 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 vf id 2 / 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
check both rules exist in the list.
@@ -2383,7 +2385,7 @@ 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 1 and 2 receive the packet.
+ check both port 3 and 4 receive the packet.
4. destroy the rule 0, and send the matched packets::
@@ -2391,7 +2393,7 @@ Subcase 1: add existing rules but with different vfs
testpmd> flow list 0
check only rule 1 exists in the list.
- send the same matched packets, check only port 2 receives the packets.
+ send the same matched packets, check only port 4 receives the packets.
5. destroy rule 1, send the matched packets::
@@ -2399,15 +2401,15 @@ Subcase 1: add existing rules but with different vfs
testpmd> flow list 0
check no rule exists in the list
- send the same matched packets, check the packets are not to port 1 and 2.
+ send the same matched packets, check the packets are not to port 3 and 4.
Subcase 2: add existing rules with the same vfs
-----------------------------------------------
1. create two indentical rules::
- 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 vf 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 vf 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 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 1 / end
2. check the first rule is created successfully, and
the second one can not be created successfully,
@@ -2425,18 +2427,18 @@ Subcase 2: add existing rules with the same vfs
Subcase 3: add two rules with one rule's input set included in the other
-------------------------------------------------------------------------
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1 and VF2::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
- testpmd> set portlist 1,2
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+ testpmd> set portlist 3,4
testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
2. create rules with one rule's input set included in the other::
- testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions vf 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 / end actions vf id 2 / end
+ testpmd> flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / 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 / end actions represented_port ethdev_port_id 2 / end
testpmd> flow list 0
check both rules exist in the list.
@@ -2445,12 +2447,12 @@ Subcase 3: add two rules with one rule's input set included in the other
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
- check both port 1 and 2 receive the packet.
+ check both port 3 and 4 receive the packet.
send a packet that only matches the rule 0 but not rule 1::
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.3")/("X"*480)], iface="ens786f0", count=1)
- check only port 1 receives the packet.
+ check only port 3 receives the packet.
4. destroy the rule 0, and send the packet p0::
@@ -2458,7 +2460,7 @@ Subcase 3: add two rules with one rule's input set included in the other
testpmd> flow list 0
check only rule 1 exists in the list.
- send the matched packet p0, check only port 2 receives the packet.
+ send the matched packet p0, check only port 4 receives the packet.
5. destroy rule 1, send the packet p0::
@@ -2466,16 +2468,16 @@ Subcase 3: add two rules with one rule's input set included in the other
testpmd> flow list 0
check no rule exists in the list.
- send the matched packet p0, check the packet are not to port 1 and 2.
+ send the matched packet p0, check the packet are not to port 3 and 4.
Subcase 4: different input set, same vf id
------------------------------------------
1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1::
- testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
Flow rule #0 created
- testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 1 / end
Flow rule #1 created
check the rule exists in the list.
@@ -2490,13 +2492,13 @@ Subcase 4: different input set, same vf id
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")
- check port 1 receive the two packets.
+ check port 3 receive the two packets.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/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 1.
+ check the packets are not to port 3.
3. verify rules can be destroyed::
@@ -2504,16 +2506,16 @@ Subcase 4: different input set, same vf id
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Subcase 5: different input set, different vf id
-----------------------------------------------
1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1::
- testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
Flow rule #0 created
- testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions represented_port ethdev_port_id 2 / end
Flow rule #1 created
check the rule exists in the list.
@@ -2528,13 +2530,13 @@ Subcase 5: different input set, different vf id
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")
- check port 1 receive the first packet, port 2 receive the second packet.
+ check port 3 receive the first packet, port 4 receive the second packet.
send mismatched packets::
sendp(Ether(dst="00:11:22:33:44:11")/IPv6()/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 1 or port 2.
+ check the packets are not to port 3 or port 4.
3. verify rules can be destroyed::
@@ -2542,7 +2544,7 @@ Subcase 5: different input set, different vf id
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1 or port 2.
+ send matched packets, check the packets are not to port 3 or port 4.
Test case: test forwarding with single vf
=========================================
@@ -2556,7 +2558,7 @@ received and forwarded when there is one vf for forwarding, and no packets are d
2. create a rule with input set [Source IP], [Dest IP]::
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list
@@ -2565,10 +2567,10 @@ received and forwarded when there is one vf for forwarding, and no packets are d
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
-4. check port 1 receives the packet and forward it, and no packets are dropped::
+4. check port 3 receives the packet and forward it, and no packets are dropped::
testpmd> stop
- ---------------------- Forward statistics for port 1 ----------------------
+ ---------------------- Forward statistics for port 3 ----------------------
RX-packets: 1 RX-dropped: 0 RX-total: 1
TX-packets: 1 TX-dropped: 0 TX-total: 1
----------------------------------------------------------------------------
@@ -2578,7 +2580,7 @@ received and forwarded when there is one vf for forwarding, and no packets are d
TX-packets: 1 TX-dropped: 0 TX-total: 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- check the RX-packets and TX-packets of port 1 are both 1, and the TX-dropped in
+ check the RX-packets and TX-packets of port 3 are both 1, and the TX-dropped in
"Accumulated forward statistics for all ports" is 0.
Test case: test forwarding with multi vfs
@@ -2588,17 +2590,17 @@ Description: This case is used to test the packets that match switch filter rule
can be received and forwarded when there are multi vfs for forwarding, and no packets
are dropped.
-1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode::
+1. Launch dpdk on VF0, VF1 and VF2, and VF0 request DCF mode, representing VF1 and VF2::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:01.1 -a 0000:18:01.2 -- -i
- testpmd> set portlist 1,2
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf,representor=[1,2] -a 0000:18:01.1 -a 0000:18:01.2 -- -i
+ testpmd> set portlist 3,4
testpmd> set fwd mac
testpmd> set verbose 1
testpmd> start
2. create a rule with input set [Source IP], [Dest IP]::
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list
@@ -2607,15 +2609,15 @@ are dropped.
sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="ens786f0", count=1)
-4. check port 1 receives the packet, and forward it to port 2, and no packets are dropped::
+4. check port 3 receives the packet, and forward it to port 4, and no packets are dropped::
testpmd> stop
- ---------------------- Forward statistics for port 1 ----------------------
+ ---------------------- Forward statistics for port 3 ----------------------
RX-packets: 1 RX-dropped: 0 RX-total: 1
TX-packets: 0 TX-dropped: 0 TX-total: 0
----------------------------------------------------------------------------
- ---------------------- Forward statistics for port 2 ----------------------
+ ---------------------- Forward statistics for port 4 ----------------------
RX-packets: 0 RX-dropped: 0 RX-total: 0
TX-packets: 1 TX-dropped: 0 TX-total: 1
----------------------------------------------------------------------------
@@ -2626,7 +2628,7 @@ are dropped.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- check the RX-packets of port 1 is 1, the TX-packets of port 2 is 1, and the TX-dropped in
+ check the RX-packets of port 3 is 1, the TX-packets of port 4 is 1, and the TX-dropped in
"Accumulated forward statistics for all ports" is 0.
Test case: Max vfs
@@ -2659,17 +2661,19 @@ This case is designed based on 4*25G NIC.
./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0
-6. launch dpdk on VF0, and request DCF mode::
+6. launch dpdk on VF0, and request DCF mode, representing VF1 to VF63::
- ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -- -i
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 \
+ -a 0000:18:01.0,cap=dcf,representor=[1-63] \
+ -- -i
7. set a switch rule to each VF from DCF, totally 63 rules::
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / tcp / end actions vf id 2 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 / tcp / end actions vf id 3 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / tcp / end actions represented_port ethdev_port_id 2 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 / tcp / end actions represented_port ethdev_port_id 3 / end
......
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.63 / tcp / end actions vf id 63 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.63 / tcp / end actions represented_port ethdev_port_id 63 / end
testpmd> flow list 0
check the rules exist in the list.
@@ -2718,9 +2722,9 @@ will not hang and provide a friendly output.
1. create the following nvgre rules::
- 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 vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions vf 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 represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rules exist in the list.
@@ -2728,7 +2732,7 @@ will not hang and provide a friendly output.
2. the three rules have run out of field vectors, and
continue to create the following rule::
- testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a1 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a1 / 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
check the rule can not be created successfully, and testpmd
provide a friendly output, showing::
@@ -2748,12 +2752,12 @@ will not hang and provide a friendly output.
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="ens786f0",count=1)
sendp([Ether()/IP(dst="192.168.0.3")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)],iface="ens786f0",count=1)
- check port 1 receives the packets
+ check port 3 receives the packets
send mismatched packets::
sendp([Ether()/IP(dst="192.168.0.5")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=50,dport=23)/Raw("x"*80)],iface="ens786f0",count=1)
- check the packets are not to port 1.
+ check the packets are not to port 3.
5. verify rules can be destroyed::
@@ -2761,7 +2765,7 @@ will not hang and provide a friendly output.
testpmd> flow list 0
check the rules not exist in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: negative cases
=========================
@@ -2771,7 +2775,7 @@ Subcase 1: can not create rule on vf 1
1. create rule on vf 1::
- testpmd> flow create 1 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 vf id 1 / end
+ testpmd> flow create 1 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 1 / end
Failed to create flow, report message::
@@ -2790,12 +2794,12 @@ Subcase 2: unsupported pattern in os default package
2. create unsupported pattern in os default package::
- testpmd> 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 vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf id 1 / end
+ testpmd> 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
+ testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions represented_port ethdev_port_id 1 / end
+ testpmd> flow create 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 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 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 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
Failed to create flow, report message::
@@ -2812,7 +2816,7 @@ Subcase 3: unsupported input set
1. create an nvgre rule with unsupported input set field [inner tos]::
- 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 tos is 4 / end actions vf 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 tos is 4 / end actions represented_port ethdev_port_id 1 / end
Failed to create flow, report message::
@@ -2829,7 +2833,7 @@ Subcase 4: duplicated rules
1. create a rule::
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions vf id 1 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2895,23 +2899,6 @@ Subcase 7: void input set value
check the rule not exists in the list.
-Subcase 8: invalid vf id
-------------------------
-
-1. create a rule with invalid vf id 5::
-
- 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 vf id 5 / end
-
- Failed to create flow, report message::
-
- Invalid vf id: Invalid argument
-
-2. check the rule list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
Subcase 9: delete a non-existing rule
-------------------------------------
@@ -2945,7 +2932,7 @@ other rules.
1. create a rule with input set length longer than 32 bytes::
- 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:2022 tc is 3 / end actions vf 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:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end
Failed to create flow, report message::
@@ -2959,7 +2946,7 @@ other rules.
3. create a MAC_IPV6_UDP_PAY 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 vf 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 represented_port ethdev_port_id 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -2968,13 +2955,13 @@ other rules.
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="ens786f0",count=1)
- check port 1 receive the packet.
+ check port 3 receive the packet.
send mismatched packets::
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="ens786f0",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="ens786f0",count=1)
- check the packets are not to port 1.
+ check the packets are not to port 3.
5. verify rules can be destroyed::
@@ -2982,18 +2969,18 @@ other rules.
testpmd> flow list 0
check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
+ send matched packets, check the packets are not to port 3.
Test case: negative validation
==============================
Note: some of the error messages may be different.
-Subcase 1: can not create rule on vf 1
---------------------------------------
+Subcase 1: can not create to vf rule on a representor
+-----------------------------------------------------
-1. validate rule on vf 1::
+1. validate rule on representor 1 which is at port 1::
- testpmd> flow validate 1 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 vf id 1 / end
+ testpmd> flow validate 1 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
get the error message::
@@ -3012,12 +2999,12 @@ Subcase 2: unsupported patterns in os default
2. validate unsupported patterns in os default::
- testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x0021 / end actions vf id 1 / end
- testpmd> flow validate 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf 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 vf 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 vf 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 vf 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 vf id 1 / end
+ testpmd> flow validate 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
+ 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 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 / 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 / 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 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end
get the error message::
@@ -3034,7 +3021,7 @@ Subcase 3: unsupported input set
1. validate an nvgre rule with unsupported input set field [inner tos]::
- 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 tos is 4 / end actions vf 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 tos is 4 / end actions represented_port ethdev_port_id 1 / end
get the error message::
@@ -3085,7 +3072,7 @@ Subcase 6: void input set value
1. validate a rule with void input set value::
- testpmd> flow validate 0 ingress pattern eth / ipv4 / end actions vf id 1 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / end actions represented_port ethdev_port_id 1 / end
get the error message::
@@ -3097,29 +3084,12 @@ Subcase 6: void input set value
check the rule not exists in the list.
-Subcase 7: invalid vf id
-------------------------
-
-1. validate a rule with invalid vf id 5::
-
- 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 vf id 5 / end
-
- get the error message::
-
- Invalid vf id: Invalid argument
-
-3. check the rule list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
Subcase 8: long switch rule
---------------------------
1. validate a rule with input set length longer than 32 bytes::
- 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:2022 tc is 3 / end actions vf 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:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end
get the error message::
@@ -3139,7 +3109,7 @@ Subcase 1: DCF stop/DCF start
1. create MAC_IPV4_UDP_PAY 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 vf 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 1 / end
testpmd> flow list 0
check the rule exists in the list.
@@ -3148,14 +3118,14 @@ Subcase 1: DCF stop/DCF start
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 port 1 receive the packet.
+ check port 3 receive the packet.
3. stop the DCF, then start the DCF::
tetspmd> port stop 0
testpmd> port start 0
-4. send matched packets, port 1 can't receive the packets.
+4. send matched packets, port 3 can't receive the packets.
Test case: Drop action test
===========================
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [DTS][PATCH V4 2/2] tests/ice_dcf_switch_filter: update test plan to support represented port action from deprecated vf action
2022-12-06 10:43 [DTS][PATCH V4 0/2] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_switch_filter Ke Xu
2022-12-06 10:43 ` [DTS][PATCH V4 1/2] test_plans/ice_dcf_switch_filter: update test plan to support represented port action from deprecated vf action Ke Xu
@ 2022-12-06 10:43 ` Ke Xu
2022-12-12 9:47 ` Li, HongboX
2022-12-13 6:13 ` lijuan.tu
1 sibling, 2 replies; 5+ messages in thread
From: Ke Xu @ 2022-12-06 10:43 UTC (permalink / raw)
To: dts; +Cc: lijuan.tu, qi.fu, ke1.xu
A new API is introduced to replace the VF actions in DPDK 22.11. To support This
new API, several modifications are made.
Methods set_up_all, tear_down_all, setup_1pf_vfs_env and create_testpmd_command
are modified to support 2 PF VFs setup to support new negative subcases to
introduce.
Method tear_down and case max_vfs are modified to enable re-compiling Testpmd for
supporting extra ports during execution introduced by applying representors.
Case max_vfs are modified to round port count up to an int powered by 2, to ensure
functioning unter special configurations.
Testpmd args are modified to support appyling representors for the new API. Rules
are modified for the old API being deprecated, changing to the new API. Ports id
are modified corresponding to the port representors and modified API.
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
tests/TestSuite_ice_dcf_switch_filter.py | 640 ++++++++++++-----------
1 file changed, 336 insertions(+), 304 deletions(-)
diff --git a/tests/TestSuite_ice_dcf_switch_filter.py b/tests/TestSuite_ice_dcf_switch_filter.py
index e2126b76..bf145f70 100644
--- a/tests/TestSuite_ice_dcf_switch_filter.py
+++ b/tests/TestSuite_ice_dcf_switch_filter.py
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2020 Intel Corporation
+# Copyright(c) 2020-2022 Intel Corporation
#
import copy
@@ -16,14 +16,14 @@ 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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -35,7 +35,7 @@ tv_mac_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -43,14 +43,14 @@ tv_mac_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -64,7 +64,7 @@ tv_mac_ipv4_frag = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -72,14 +72,14 @@ tv_mac_ipv4_frag = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -94,7 +94,7 @@ tv_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -102,14 +102,14 @@ tv_mac_ipv4_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -125,7 +125,7 @@ tv_mac_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -133,14 +133,14 @@ tv_mac_ipv4_udp_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -156,7 +156,7 @@ tv_mac_ipv4_tcp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -164,12 +164,12 @@ tv_mac_ipv4_tcp_pay = {
tv_mac_ipv4_igmp = {
"name": "tv_mac_ipv4_igmp",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 proto is 0x02 / end actions vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -180,7 +180,7 @@ tv_mac_ipv4_igmp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -188,7 +188,7 @@ tv_mac_ipv4_igmp = {
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 vf 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",
"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,7 +196,7 @@ tv_mac_ipv6_srcip_dstip = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -209,7 +209,7 @@ tv_mac_ipv6_srcip_dstip = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -217,7 +217,7 @@ tv_mac_ipv6_srcip_dstip = {
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 vf 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",
"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,7 +225,7 @@ tv_mac_ipv6_dstip_tc = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -240,7 +240,7 @@ tv_mac_ipv6_dstip_tc = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -248,14 +248,14 @@ tv_mac_ipv6_dstip_tc = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -269,7 +269,7 @@ tv_mac_ipv6_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -277,14 +277,14 @@ tv_mac_ipv6_udp_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -298,7 +298,7 @@ tv_mac_ipv6_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -306,7 +306,7 @@ tv_mac_ipv6_tcp = {
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 vf 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",
"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,7 +314,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -331,7 +331,7 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -339,14 +339,14 @@ tv_mac_ipv4_nvgre_ipv4_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -361,7 +361,7 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -369,14 +369,14 @@ tv_mac_ipv4_nvgre_ipv4_udp_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -391,7 +391,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -399,7 +399,7 @@ tv_mac_ipv4_nvgre_ipv4_tcp = {
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 vf 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",
"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,7 +407,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -426,7 +426,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -434,14 +434,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -457,7 +457,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -465,14 +465,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_udp_pay = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -488,7 +488,7 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -496,14 +496,14 @@ tv_mac_ipv4_nvgre_mac_ipv4_tcp = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -516,7 +516,7 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -524,14 +524,14 @@ tv_mac_vlan_pppoe_ipv4_pay_session_id_proto_id = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -544,7 +544,7 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -552,14 +552,14 @@ tv_mac_vlan_pppoe_ipv6_pay_session_id_proto_id = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -571,7 +571,7 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -579,14 +579,14 @@ tv_mac_pppoe_ipv4_pay_session_id_proto_id = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -598,7 +598,7 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -606,12 +606,12 @@ tv_mac_pppoe_ipv6_pay_session_id_proto_id = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -619,7 +619,7 @@ tv_ip_multicast = {
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -627,12 +627,12 @@ tv_ip_multicast = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -640,7 +640,7 @@ tv_l2_multicast = {
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -648,14 +648,14 @@ tv_l2_multicast = {
tv_ethertype_filter_pppod = {
"name": "tv_ethertype_filter_pppod",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8863 / end actions represented_port ethdev_port_id 1 / 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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -663,7 +663,7 @@ tv_ethertype_filter_pppod = {
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -671,12 +671,12 @@ tv_ethertype_filter_pppod = {
tv_ethertype_filter_pppoe = {
"name": "tv_ethertype_filter_pppoe",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x8864 / end actions represented_port ethdev_port_id 1 / 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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -684,7 +684,7 @@ tv_ethertype_filter_pppoe = {
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -692,7 +692,7 @@ tv_ethertype_filter_pppoe = {
tv_ethertype_filter_ipv6 = {
"name": "tv_ethertype_filter_ipv6",
- "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 ingress pattern eth type is 0x86dd / end actions represented_port ethdev_port_id 1 / 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,7 +700,7 @@ tv_ethertype_filter_ipv6 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -708,7 +708,7 @@ tv_ethertype_filter_ipv6 = {
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -716,14 +716,14 @@ tv_ethertype_filter_ipv6 = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -734,7 +734,7 @@ tv_udp_port_filter_dhcp_discovery = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -742,14 +742,14 @@ tv_udp_port_filter_dhcp_discovery = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -760,7 +760,7 @@ tv_udp_port_filter_dhcp_offer = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -768,14 +768,14 @@ tv_udp_port_filter_dhcp_offer = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -785,7 +785,7 @@ tv_udp_port_filter_vxlan = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -793,14 +793,14 @@ tv_udp_port_filter_vxlan = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -811,7 +811,7 @@ tv_mac_vlan_filter = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -819,14 +819,14 @@ tv_mac_vlan_filter = {
tv_vlan_filter = {
"name": "tv_vlan_filter",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / vlan tci is 1 / end actions vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -836,7 +836,7 @@ tv_vlan_filter = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -844,14 +844,14 @@ tv_vlan_filter = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -863,7 +863,7 @@ tv_mac_ipv4_l2tpv3 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -871,14 +871,14 @@ tv_mac_ipv4_l2tpv3 = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -890,7 +890,7 @@ tv_mac_ipv6_l2tpv3 = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -898,14 +898,14 @@ tv_mac_ipv6_l2tpv3 = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -917,7 +917,7 @@ tv_mac_ipv4_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -925,14 +925,14 @@ tv_mac_ipv4_esp = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -944,7 +944,7 @@ tv_mac_ipv6_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -952,14 +952,14 @@ tv_mac_ipv6_esp = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -971,7 +971,7 @@ tv_mac_ipv4_ah = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -979,14 +979,14 @@ tv_mac_ipv4_ah = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -998,7 +998,7 @@ tv_mac_ipv6_ah = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1006,14 +1006,14 @@ tv_mac_ipv6_ah = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1025,7 +1025,7 @@ tv_mac_ipv4_nat_t_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1033,14 +1033,14 @@ tv_mac_ipv4_nat_t_esp = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1052,7 +1052,7 @@ tv_mac_ipv6_nat_t_esp = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1060,7 +1060,7 @@ tv_mac_ipv6_nat_t_esp = {
tv_actions_vf_id_0 = {
"name": "tv_actions_vf_id_0",
- "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 vf id 0 / 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 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)'
@@ -1078,8 +1078,8 @@ 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 vf 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 vf id 2 / 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",
],
"matched": {
"scapy_str": [
@@ -1087,7 +1087,7 @@ tv_add_existing_rules_but_with_different_vfs = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": [1, 2], "expect_queues": "null"},
+ "param": {"expect_port": [3, 4], "expect_queues": "null"},
},
"expect_results": {"expect_pkts": [1, 1]},
},
@@ -1097,8 +1097,8 @@ tv_add_existing_rules_but_with_different_vfs = {
tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
"name": "tv_add_two_rules_with_one_rule_input_set_included_in_the_other",
"rte_flow_pattern": [
- "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / end actions vf 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 / end actions vf id 2 / end",
+ "flow create 0 ingress pattern eth dst is 68:05:ca:8d:ed:a8 / ipv4 src is 192.168.0.1 / 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 / end actions represented_port ethdev_port_id 2 / end",
],
"matched": {
"scapy_str": [
@@ -1106,7 +1106,7 @@ tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": [1, 2], "expect_queues": "null"},
+ "param": {"expect_port": [3, 4], "expect_queues": "null"},
},
"expect_results": {"expect_pkts": [1, 1]},
},
@@ -1115,14 +1115,14 @@ tv_add_two_rules_with_one_rule_input_set_included_in_the_other = {
tv_test_fwd_with_single_vf = {
"name": "tv_test_fwd_with_single_vf",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_tx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1131,14 +1131,14 @@ tv_test_fwd_with_single_vf = {
tv_test_fwd_with_multi_vfs = {
"name": "tv_test_fwd_with_multi_vfs",
- "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": [
'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)'
],
"check_func": {
"func": rfc.check_vf_rx_tx_packets_number,
- "param": {"expect_port": [1, 2], "expect_queues": "null"},
+ "param": {"expect_port": [3, 4], "expect_queues": "null"},
},
"expect_results": {"expect_pkts": [1, 0]},
},
@@ -1172,9 +1172,9 @@ tv_max_vfs = {
tv_max_field_vectors = {
"name": "tv_max_field_vectors",
"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 vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions vf 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 represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.2 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp src is 50 / end actions represented_port ethdev_port_id 1 / end",
+ "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.3 / nvgre tni is 0x8 / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 / udp dst is 23 / end actions represented_port ethdev_port_id 1 / end",
],
"matched": {
"scapy_str": [
@@ -1184,7 +1184,7 @@ tv_max_field_vectors = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 3},
},
@@ -1194,7 +1194,7 @@ tv_max_field_vectors = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1208,7 +1208,7 @@ tv_max_rule_number = {
"scapy_str": [],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1},
+ "param": {"expect_port": 3},
},
"expect_results": {"expect_pkts": 32563},
},
@@ -1218,7 +1218,7 @@ tv_max_rule_number = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1},
+ "param": {"expect_port": 3},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1226,12 +1226,12 @@ 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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1243,7 +1243,7 @@ tv_mac_ipv4_pfcp_node = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1251,12 +1251,12 @@ tv_mac_ipv4_pfcp_node = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1268,7 +1268,7 @@ tv_mac_ipv4_pfcp_session = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1276,14 +1276,14 @@ tv_mac_ipv4_pfcp_session = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1295,7 +1295,7 @@ tv_mac_ipv6_pfcp_node = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1303,14 +1303,14 @@ tv_mac_ipv6_pfcp_node = {
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 vf 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",
"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": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1322,7 +1322,7 @@ tv_mac_ipv6_pfcp_session = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1331,8 +1331,8 @@ tv_mac_ipv6_pfcp_session = {
tv_add_two_rules_with_different_input_set_same_vf_id = {
"name": "tv_add_two_rules_with_different_input_set_same_vf_id",
"rte_flow_pattern": [
- "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf 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",
+ "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": [
@@ -1341,7 +1341,7 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 2},
},
@@ -1352,7 +1352,7 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1361,8 +1361,8 @@ tv_add_two_rules_with_different_input_set_same_vf_id = {
tv_add_two_rules_with_different_input_set_different_vf_id = {
"name": "tv_add_two_rules_with_different_input_set_different_vf_id",
"rte_flow_pattern": [
- "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end",
+ "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 1 / end actions represented_port ethdev_port_id 2 / end",
],
"matched": {
"scapy_str": [
@@ -1371,7 +1371,7 @@ tv_add_two_rules_with_different_input_set_different_vf_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": [1, 2], "expect_queues": "null"},
+ "param": {"expect_port": [3, 4], "expect_queues": "null"},
},
"expect_results": {"expect_pkts": [1, 1]},
},
@@ -1382,7 +1382,7 @@ tv_add_two_rules_with_different_input_set_different_vf_id = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": [1, 2], "expect_queues": "null"},
+ "param": {"expect_port": [3, 4], "expect_queues": "null"},
},
"expect_results": {"expect_pkts": [0, 0]},
},
@@ -1392,7 +1392,7 @@ tv_add_two_rules_with_different_input_set_different_vf_id = {
# ipv4/ipv6 + udp/tcp
mac_ipv4_udp_l4_mask_scapy_str = {
"matched": [
- 'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/UDP(sport=2048,dport=1)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/UDP(sport=2048,dport=1)/Raw("x"*80)'
],
"mismatched": [
'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/UDP(sport=2152,dport=2)/Raw("x"*80)',
@@ -1401,12 +1401,12 @@ mac_ipv4_udp_l4_mask_scapy_str = {
}
tv_mac_ipv4_udp_l4_mask_in_single_vf_01 = {
"name": "tv_mac_ipv4_udp_l4_mask_in_single_vf_01",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 / udp src spec 2152 src mask 0xff00 dst spec 1281 dst mask 0x00ff / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 / udp src spec 2152 src mask 0xff00 dst spec 1281 dst mask 0x00ff / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": mac_ipv4_udp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {
"expect_pkts": len(mac_ipv4_udp_l4_mask_scapy_str["matched"])
@@ -1416,7 +1416,7 @@ tv_mac_ipv4_udp_l4_mask_in_single_vf_01 = {
"scapy_str": mac_ipv4_udp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1424,20 +1424,20 @@ tv_mac_ipv4_udp_l4_mask_in_single_vf_01 = {
mac_ipv6_udp_l4_mask_scapy_str = {
"matched": [
- 'Ether(dst="00:11:22:33:44:66")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=10,dport=3328)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=10,dport=3328)/Raw("x"*80)'
],
"mismatched": [
- 'Ether(dst="00:11:22:33:44:66")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=10,dport=3077)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=10,dport=3077)/Raw("x"*80)'
],
}
tv_mac_ipv6_tcp_l4_mask_in_single_vf_02 = {
"name": "tv_mac_ipv6_tcp_l4_mask_in_single_vf_02",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 / tcp dst spec 3333 dst mask 0x0ff0 / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv6 / tcp dst spec 3333 dst mask 0x0ff0 / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": mac_ipv6_udp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {
"expect_pkts": len(mac_ipv6_udp_l4_mask_scapy_str["matched"])
@@ -1447,7 +1447,7 @@ tv_mac_ipv6_tcp_l4_mask_in_single_vf_02 = {
"scapy_str": mac_ipv6_udp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1456,7 +1456,7 @@ tv_mac_ipv6_tcp_l4_mask_in_single_vf_02 = {
# test vxlan l4 mask
mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_scapy_str = {
"matched": [
- 'Ether(dst="00:11:22:33:44:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=16,dport=22)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=16,dport=22)/Raw("x"*80)'
],
"mismatched": [
'Ether(dst="00:11:22:33:44:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=33,dport=22)/Raw("x"*80)'
@@ -1464,12 +1464,12 @@ mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_scapy_str = {
}
tv_mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_in_single_vf_03 = {
"name": "tv_mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_in_single_vf_03",
- "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 / udp src spec 32 src mask 0x0f / end actions vf id 1 / end",
+ "rte_flow_pattern": "flow create 0 priority 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 / udp src spec 32 src mask 0x0f / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {
"expect_pkts": len(
@@ -1481,7 +1481,7 @@ tv_mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_in_single_vf_03 = {
"scapy_str": mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1490,20 +1490,20 @@ tv_mac_ipv4_udp_vxlan_eth_ipv4_udp_l4_mask_in_single_vf_03 = {
# test nvgre l4 mask
mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_scapy_str = {
"matched": [
- 'Ether(dst="00:11:22:33:44:66")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=1536)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=1536)/Raw("x"*80)'
],
"mismatched": [
- 'Ether(dst="00:11:22:33:44:66")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=1281)/Raw("x"*80)',
+ 'Ether(dst="00:11:22:33:44:66")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/UDP(sport=1281)/Raw("x"*80)'
],
}
tv_mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_in_single_vf_04 = {
"name": "tv_mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_in_single_vf_04",
- "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 spec 1280 src mask 0x00ff / end actions vf 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 spec 1280 src mask 0x00ff / end actions represented_port ethdev_port_id 1 / end",
"matched": {
"scapy_str": mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {
"expect_pkts": len(mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_scapy_str["matched"])
@@ -1513,7 +1513,7 @@ tv_mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_in_single_vf_04 = {
"scapy_str": mac_ipv4_nvgre_eth_ipv4_udp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1535,7 +1535,7 @@ tv_mac_ipv4_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1545,7 +1545,7 @@ tv_mac_ipv4_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1560,7 +1560,7 @@ tv_mac_ipv4_mask_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1570,7 +1570,7 @@ tv_mac_ipv4_mask_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1585,7 +1585,7 @@ tv_mac_nvgre_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1595,7 +1595,7 @@ tv_mac_nvgre_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1610,7 +1610,7 @@ tv_mac_ppoes_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1620,7 +1620,7 @@ tv_mac_ppoes_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1633,7 +1633,7 @@ tv_mac_pfcp_drop = {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=8805)/PFCP(S=0)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1641,7 +1641,7 @@ tv_mac_pfcp_drop = {
"scapy_str": ['Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=8805)/PFCP(S=1)'],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1656,7 +1656,7 @@ tv_mac_vlan_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1666,7 +1666,7 @@ tv_mac_vlan_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1681,7 +1681,7 @@ tv_mac_l2tp_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1691,7 +1691,7 @@ tv_mac_l2tp_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1706,7 +1706,7 @@ tv_mac_esp_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1716,7 +1716,7 @@ tv_mac_esp_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1747,7 +1747,7 @@ tv_mac_blend_pkg_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1764,7 +1764,7 @@ tv_mac_blend_pkg_drop = {
],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 8},
},
@@ -1772,11 +1772,9 @@ tv_mac_blend_pkg_drop = {
vf1_mac = "00:11:22:33:44:55"
mac_ipv4_tcp_l4_mask_scapy_str = {
- "matched": [
- 'Ether(dst="%s")/IP()/TCP(sport=2313,dport=23)/Raw("x"*80)' % vf1_mac,
- ],
+ "matched": ['Ether(dst="%s")/IP()/TCP(sport=2313,dport=23)/Raw("x"*80)' % vf1_mac],
"mismatched": [
- 'Ether(dst="%s")/IP()/TCP(sport=2344,dport=23)/Raw("x"*80)' % vf1_mac,
+ 'Ether(dst="%s")/IP()/TCP(sport=2344,dport=23)/Raw("x"*80)' % vf1_mac
],
}
tv_mac_ipv4_tcp_l4_mask_drop = {
@@ -1786,7 +1784,7 @@ tv_mac_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_tcp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1794,7 +1792,7 @@ tv_mac_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_tcp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1803,11 +1801,11 @@ tv_mac_ipv4_tcp_l4_mask_drop = {
mac_ipv6_tcp_l4_mask_scapy_str = {
"matched": [
'Ether(dst="%s")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=10,dport=3328)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
"mismatched": [
'Ether(dst="%s")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1515",dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/UDP(sport=10,dport=3077)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
}
tv_mac_ipv6_udp_l4_mask_drop = {
@@ -1817,7 +1815,7 @@ tv_mac_ipv6_udp_l4_mask_drop = {
"scapy_str": mac_ipv6_tcp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1825,7 +1823,7 @@ tv_mac_ipv6_udp_l4_mask_drop = {
"scapy_str": mac_ipv6_tcp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1834,11 +1832,11 @@ tv_mac_ipv6_udp_l4_mask_drop = {
mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_scapy_str = {
"matched": [
'Ether(dst="%s")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=16,dport=22)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
"mismatched": [
'Ether(dst="%s")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=33,dport=22)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
}
tv_mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_drop = {
@@ -1848,7 +1846,7 @@ tv_mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1856,7 +1854,7 @@ tv_mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1865,11 +1863,11 @@ tv_mac_ipv4_udp_vxlan_eth_ipv4_tcp_l4_mask_drop = {
mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_scapy_str = {
"matched": [
'Ether(dst="%s")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=1536)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
"mismatched": [
'Ether(dst="%s")/IP(dst="192.168.0.1")/NVGRE(TNI=0x8)/Ether()/IP(src="192.168.0.2", dst="192.168.0.3")/TCP(sport=50,dport=1281)/Raw("x"*80)'
- % vf1_mac,
+ % vf1_mac
],
}
tv_mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_drop = {
@@ -1879,7 +1877,7 @@ tv_mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_scapy_str["matched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 0},
},
@@ -1887,7 +1885,7 @@ tv_mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_drop = {
"scapy_str": mac_ipv4_nvgre_eth_ipv4_tcp_l4_mask_scapy_str["mismatched"],
"check_func": {
"func": rfc.check_vf_rx_packets_number,
- "param": {"expect_port": 1, "expect_queues": "null"},
+ "param": {"expect_port": 3, "expect_queues": "null"},
},
"expect_results": {"expect_pkts": 1},
},
@@ -1945,41 +1943,55 @@ class ICEDCFSwitchFilterTest(TestCase):
"""
self.dut_ports = self.dut.get_ports(self.nic)
# Verify that enough ports are available
- self.verify(len(self.dut_ports) >= 1, "Insufficient ports")
+ self.verify(len(self.dut_ports) >= 2, "Insufficient ports")
localPort = self.tester.get_local_port(self.dut_ports[0])
self.used_dut_port_0 = self.dut_ports[0]
+ self.used_dut_port_1 = self.dut_ports[1]
self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
+ self.pf1_intf = self.dut.ports_info[self.used_dut_port_1]["intf"]
self.__tx_iface = self.tester.get_interface(localPort)
self.pkt = Packet()
self.testpmd_status = "close"
+ self.testpmd_status_did_rebuild = False
# bind pf to kernel
self.bind_nics_driver(self.dut_ports, driver="ice")
# get priv-flags default stats
self.flag = "vf-vlan-pruning"
- self.default_stats = self.dut.get_priv_flags_state(self.pf0_intf, self.flag)
+ self.default_pf0_stats = self.dut.get_priv_flags_state(self.pf0_intf, self.flag)
+ self.default_pf1_stats = self.dut.get_priv_flags_state(self.pf1_intf, self.flag)
# set vf driver
self.vf_driver = "vfio-pci"
self.dut.send_expect("modprobe vfio-pci", "#")
self.path = self.dut.apps_name["test-pmd"]
- def setup_1pf_vfs_env(self, pf_port=0, driver="default"):
+ def setup_2pf_vfs_env(self, pf_port_0=0, pf_port_1=1, driver="default"):
- self.used_dut_port_0 = self.dut_ports[pf_port]
+ self.used_dut_port_0 = self.dut_ports[pf_port_0]
+ self.used_dut_port_1 = self.dut_ports[pf_port_1]
# get PF interface name
self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
- out = self.dut.send_expect("ethtool -i %s" % self.pf0_intf, "#")
- if self.default_stats:
+ self.pf1_intf = self.dut.ports_info[self.used_dut_port_1]["intf"]
+ self.dut.send_expect("ethtool -i %s" % self.pf0_intf, "#")
+ self.dut.send_expect("ethtool -i %s" % self.pf1_intf, "#")
+ if self.default_pf0_stats:
self.dut.send_expect(
"ethtool --set-priv-flags %s %s off" % (self.pf0_intf, self.flag), "# "
)
+ if self.default_pf1_stats:
+ self.dut.send_expect(
+ "ethtool --set-priv-flags %s %s off" % (self.pf1_intf, self.flag), "# "
+ )
# generate 4 VFs on PF
self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 4, driver=driver)
+ self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 4, driver=driver)
self.sriov_vfs_port_0 = self.dut.ports_info[self.used_dut_port_0]["vfs_port"]
+ self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1]["vfs_port"]
# set VF0 as trust
self.dut.send_expect("ip link set %s vf 0 trust on" % self.pf0_intf, "#")
+ self.dut.send_expect("ip link set %s vf 0 trust on" % self.pf1_intf, "#")
# bind VFs to dpdk driver
- for port in self.sriov_vfs_port_0:
+ for port in self.sriov_vfs_port_0 + self.sriov_vfs_port_1:
port.bind_driver(self.vf_driver)
time.sleep(5)
@@ -1997,12 +2009,17 @@ class ICEDCFSwitchFilterTest(TestCase):
Create testpmd command
"""
# Prepare testpmd EAL and parameters
- vf0_pci = self.sriov_vfs_port_0[0].pci
- vf1_pci = self.sriov_vfs_port_0[1].pci
+ pf0_vf0_pci = self.sriov_vfs_port_0[0].pci
+ pf0_vf1_pci = self.sriov_vfs_port_0[1].pci
+ pf1_vf0_pci = self.sriov_vfs_port_1[0].pci
+ pf1_vf1_pci = self.sriov_vfs_port_1[1].pci
all_eal_param = self.dut.create_eal_parameters(
cores="1S/4C/1T",
- ports=[vf0_pci, vf1_pci],
- port_options={vf0_pci: "cap=dcf"},
+ ports=[pf0_vf0_pci, pf0_vf1_pci, pf1_vf0_pci, pf1_vf1_pci],
+ port_options={
+ pf0_vf0_pci: "cap=dcf,representor=[1,2]",
+ pf1_vf0_pci: "cap=dcf,representor=[1,2]",
+ },
)
command = self.path + all_eal_param + " -- -i"
return command
@@ -2014,7 +2031,7 @@ class ICEDCFSwitchFilterTest(TestCase):
command = self.create_testpmd_command()
self.testpmd_status = "running"
out = self.dut.send_expect(command, "testpmd> ", 30)
- self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3", "testpmd> ", 15)
self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
@@ -2262,147 +2279,147 @@ class ICEDCFSwitchFilterTest(TestCase):
self.send_and_check_packets(destroy_dict)
def test_mac_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_pay)
def test_mac_ipv4_frag(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_frag)
def test_mac_ipv4_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_pay)
def test_mac_ipv4_udp_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_udp_pay)
def test_mac_ipv4_tcp_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_tcp_pay)
def test_mac_ipv4_igmp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_igmp)
def test_mac_ipv6_srcip_dstip(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_srcip_dstip)
def test_mac_ipv6_dstip_tc(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_dstip_tc)
def test_mac_ipv6_udp_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_udp_pay)
def test_mac_ipv6_tcp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_tcp)
def test_mac_ipv4_nvgre_ipv4_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_pay)
def test_mac_ipv4_nvgre_ipv4_udp_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_udp_pay)
def test_mac_ipv4_nvgre_ipv4_tcp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_ipv4_tcp)
def test_mac_ipv4_nvgre_mac_ipv4_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_pay)
def test_mac_ipv4_nvgre_mac_ipv4_udp_pay(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_udp_pay)
def test_mac_ipv4_nvgre_mac_ipv4_tcp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nvgre_mac_ipv4_tcp)
def test_ip_multicast(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_ip_multicast)
def test_l2_multicast(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_l2_multicast)
def test_ethertype_filter_pppod(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_ethertype_filter_pppod)
def test_ethertype_filter_pppoe(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_ethertype_filter_pppoe)
def test_ethertype_filter_ipv6(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_ethertype_filter_ipv6)
def test_udp_port_filter_dhcp_discovery(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_udp_port_filter_dhcp_discovery)
def test_udp_port_filter_dhcp_offer(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_udp_port_filter_dhcp_offer)
def test_udp_port_filter_vxlan(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_udp_port_filter_vxlan)
def test_mac_vlan_filter(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_vlan_filter)
def test_vlan_filter(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_vlan_filter)
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv4_l2tpv3(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_l2tpv3)
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv6_l2tpv3(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_l2tpv3)
@skip_unsupported_pkg("os default")
def test_mac_ipv4_esp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_esp)
@skip_unsupported_pkg("os default")
def test_mac_ipv6_esp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_esp)
@skip_unsupported_pkg("os default")
def test_mac_ipv4_ah(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_ah)
@skip_unsupported_pkg("os default")
def test_mac_ipv6_ah(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_ah)
@skip_unsupported_pkg("os default")
def test_mac_ipv4_nat_t_esp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_nat_t_esp)
@skip_unsupported_pkg("os default")
def test_mac_ipv6_nat_t_esp(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_nat_t_esp)
def test_negative_case(self):
@@ -2410,15 +2427,15 @@ class ICEDCFSwitchFilterTest(TestCase):
negative cases
"""
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
self.launch_testpmd()
rules = {
- "cannot create rule on vf 1": "flow create 1 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 vf id 1 / end",
- "unsupported input set": "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 tos is 4 / end actions vf id 1 / end",
- "invalid vf id": "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 vf id 5 / end",
+ "cannot create rule on vf 1": "flow create 1 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",
+ "unsupported input set": "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 tos is 4 / end actions represented_port ethdev_port_id 1 / end",
+ "invalid vf id": "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 5 / end",
"void action": "flow create 0 ingress pattern eth / ipv4 / udp src is 25 dst is 23 / end actions end",
- "void input set value": "flow create 0 ingress pattern eth / ipv4 / end actions vf id 1 end",
+ "void input set value": "flow create 0 ingress pattern eth / ipv4 / end actions represented_port ethdev_port_id 1 end",
}
# cannot create rule on vf 1
self.validate_switch_filter_rule(
@@ -2441,7 +2458,7 @@ class ICEDCFSwitchFilterTest(TestCase):
self.check_switch_filter_rule_list(0, [])
# duplicated rues
- rule = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions vf id 1 / end"
+ rule = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / end actions represented_port ethdev_port_id 1 / end"
rule_list = self.create_switch_filter_rule(rule) # create a rule
self.check_switch_filter_rule_list(0, rule_list)
self.create_switch_filter_rule(rule, check_stats=False)
@@ -2479,7 +2496,7 @@ class ICEDCFSwitchFilterTest(TestCase):
self.verify("Fail" not in out, "Destroy failed.")
# add long switch rule
- rule = "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:2022 tc is 3 / end actions vf id 1 / end"
+ rule = "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:2022 tc is 3 / end actions represented_port ethdev_port_id 1 / end"
self.validate_switch_filter_rule(rule, check_stats=False)
self.check_switch_filter_rule_list(0, [])
self.create_switch_filter_rule(rule, check_stats=False)
@@ -2493,16 +2510,16 @@ class ICEDCFSwitchFilterTest(TestCase):
test with os default package
"""
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
self.launch_testpmd()
rules = [
- "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 vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / l2tpv3oip session_id is 1 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / esp spi is 1 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / ah spi is 1 / end actions vf id 1 / end",
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions vf 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 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",
+ "flow create 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 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 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 ingress pattern eth / ipv4 src is 192.168.0.2 / udp / esp spi is 1 / end actions represented_port ethdev_port_id 1 / end",
]
self.validate_switch_filter_rule(rules, check_stats=False)
self.check_switch_filter_rule_list(0, [])
@@ -2518,7 +2535,7 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_add_existing_rules_but_with_different_vfs(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
vf0_pci = self.sriov_vfs_port_0[0].pci
vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2526,12 +2543,12 @@ class ICEDCFSwitchFilterTest(TestCase):
all_eal_param = self.dut.create_eal_parameters(
cores="1S/4C/1T",
ports=[vf0_pci, vf1_pci, vf2_pci],
- port_options={vf0_pci: "cap=dcf"},
+ port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
)
command = self.path + all_eal_param + " -- -i"
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
# create rules with same pattern but to different vfs
@@ -2562,11 +2579,11 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_add_existing_rules_with_the_same_vfs(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
self.launch_testpmd()
# create a rule
- rule = "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 vf id 1 / end"
+ rule = "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"
rule_list = self.create_switch_filter_rule(rule) # create a rule
self.check_switch_filter_rule_list(0, rule_list)
# create the same rule
@@ -2575,7 +2592,7 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_add_two_rules_with_one_rule_input_set_included_in_the_other(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
vf0_pci = self.sriov_vfs_port_0[0].pci
vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2583,12 +2600,12 @@ class ICEDCFSwitchFilterTest(TestCase):
all_eal_param = self.dut.create_eal_parameters(
cores="1S/4C/1T",
ports=[vf0_pci, vf1_pci, vf2_pci],
- port_options={vf0_pci: "cap=dcf"},
+ port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
)
command = self.path + all_eal_param + " -- -i"
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
# create rules with one rule's input set included in the other
@@ -2631,12 +2648,12 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_fwd_with_single_vf(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
command = self.create_testpmd_command()
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3", "testpmd> ", 15)
self.dut.send_expect("set fwd mac", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
# create a rule
@@ -2659,7 +2676,7 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_fwd_with_multi_vfs(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
vf0_pci = self.sriov_vfs_port_0[0].pci
vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2667,12 +2684,12 @@ class ICEDCFSwitchFilterTest(TestCase):
all_eal_param = self.dut.create_eal_parameters(
cores="1S/4C/1T",
ports=[vf0_pci, vf1_pci, vf2_pci],
- port_options={vf0_pci: "cap=dcf"},
+ port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
)
command = self.path + all_eal_param + " -- -i"
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
self.dut.send_expect("set fwd mac", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
# create a rule
@@ -2701,7 +2718,8 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_max_vfs(self):
# get max vfs number
- max_vf_number = int(256 / (len(self.dut_ports)))
+ port_count = (1, 1, 2, 4, 4)[len(self.dut_ports)]
+ max_vf_number = int(256 / (port_count))
# set up max_vf_number vfs on 1 pf environment
self.used_dut_port_0 = self.dut_ports[0]
self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"]
@@ -2730,18 +2748,23 @@ class ICEDCFSwitchFilterTest(TestCase):
)
time.sleep(5)
vf_intf.pop(0)
+ # re-compile testpmd for more port
+ self.dut.build_install_dpdk(self.target, extra_options="-Dmax_ethports=256")
+ self.testpmd_status_did_rebuild = True
# launch testpmd
vf0_pci = vf_pci[0]
all_eal_param = self.dut.create_eal_parameters(
- cores="1S/4C/1T", ports=[vf0_pci], port_options={vf0_pci: "cap=dcf"}
+ cores="1S/4C/1T",
+ ports=[vf0_pci],
+ port_options={vf0_pci: f"cap=dcf,representor=[1-{max_vf_number-1}]"},
)
command = self.path + all_eal_param + " -- -i"
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
# generate max_vf_number-1 rules to each vf and matched packets
for i in range(1, max_vf_number):
rte_flow_pattern = (
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.%d / tcp / end actions vf id %d / end"
+ "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.%d / tcp / end actions represented_port ethdev_port_id %d / end"
% (i, i)
)
tv_max_vfs["rte_flow_pattern"].append(rte_flow_pattern)
@@ -2800,7 +2823,7 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_max_field_vectors(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
self.launch_testpmd()
# create 3 nvgre rules, which have run out of field vectors
@@ -2809,7 +2832,7 @@ class ICEDCFSwitchFilterTest(TestCase):
) # create a rule
self.check_switch_filter_rule_list(0, rule_list)
# create a rule, check the rule can not be created successfully
- rule = "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a1 / ipv4 src is 192.168.1.2 dst is 192.168.1.3 / udp src is 25 dst is 23 / end actions vf id 1 / end"
+ rule = "flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.10 / nvgre tni is 0x8 / eth dst is 68:05:ca:8d:ed:a1 / 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"
self.create_switch_filter_rule(rule, check_stats=False)
self.check_switch_filter_rule_list(0, rule_list)
# send matched packets and check
@@ -2828,7 +2851,7 @@ class ICEDCFSwitchFilterTest(TestCase):
def test_dcf_stop_start(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
self.launch_testpmd()
# create MAC_IPV4_UDP_PAY rule
@@ -2849,27 +2872,27 @@ class ICEDCFSwitchFilterTest(TestCase):
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv4_pfcp_node(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_pfcp_node)
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv4_pfcp_session(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv4_pfcp_session)
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv6_pfcp_node(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_pfcp_node)
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_ipv6_pfcp_session(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(tv_mac_ipv6_pfcp_session)
@skip_unsupported_pkg(["os default", "wireless"])
def test_add_two_rules_with_different_input_set_same_vf_id(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self._rte_flow_validate_pattern(
tv_add_two_rules_with_different_input_set_same_vf_id
)
@@ -2877,7 +2900,7 @@ class ICEDCFSwitchFilterTest(TestCase):
@skip_unsupported_pkg(["os default", "wireless"])
def test_add_two_rules_with_different_input_set_different_vf_id(self):
# set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
# launch testpmd
vf0_pci = self.sriov_vfs_port_0[0].pci
vf1_pci = self.sriov_vfs_port_0[1].pci
@@ -2885,12 +2908,12 @@ class ICEDCFSwitchFilterTest(TestCase):
all_eal_param = self.dut.create_eal_parameters(
cores="1S/4C/1T",
ports=[vf0_pci, vf1_pci, vf2_pci],
- port_options={vf0_pci: "cap=dcf"},
+ port_options={vf0_pci: "cap=dcf,representor=[1,2]"},
)
command = self.path + all_eal_param + " -- -i"
- out = self.dut.send_expect(command, "testpmd> ", 15)
+ out = self.dut.send_expect(command, "testpmd> ", 30)
self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1,2", "testpmd> ", 15)
+ self.dut.send_expect("set portlist 3,4", "testpmd> ", 15)
self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
self.dut.send_expect("set verbose 1", "testpmd> ", 15)
self._rte_flow_validate_pattern(
@@ -2899,7 +2922,7 @@ class ICEDCFSwitchFilterTest(TestCase):
@skip_unsupported_pkg(["os default", "wireless"])
def test_mac_drop_action(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self.dut.send_expect(
'ip link set %s vf 1 mac "00:11:22:33:44:55"' % self.pf0_intf, "# "
)
@@ -2933,7 +2956,7 @@ class ICEDCFSwitchFilterTest(TestCase):
# l4 mask
def test_l4_mask(self):
- self.setup_1pf_vfs_env()
+ self.setup_2pf_vfs_env()
self.dut.send_expect(
"ip link set %s vf 1 mac 00:11:22:33:44:55" % self.pf0_intf, "# "
)
@@ -2973,15 +2996,24 @@ class ICEDCFSwitchFilterTest(TestCase):
self.dut.close_session(self.session_secondary)
# kill all DPDK application
self.dut.kill_all()
+ if self.testpmd_status_did_rebuild:
+ self.dut.build_install_dpdk(self.target)
+ self.testpmd_status_did_rebuild = False
def tear_down_all(self):
"""
Run after each test suite.
"""
self.dut.kill_all()
- if self.default_stats:
+ if self.default_pf0_stats:
+ self.dut.send_expect(
+ "ethtool --set-priv-flags %s %s %s"
+ % (self.pf0_intf, self.flag, self.default_pf0_stats),
+ "# ",
+ )
+ if self.default_pf1_stats:
self.dut.send_expect(
"ethtool --set-priv-flags %s %s %s"
- % (self.pf0_intf, self.flag, self.default_stats),
+ % (self.pf1_intf, self.flag, self.default_pf1_stats),
"# ",
)
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread