@@ -1,4 +1,4 @@
-.. Copyright (c) <2020>, Intel Corporation
+.. Copyright (c) <2021>, Intel Corporation
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@ This document provides the plan for testing DCF switch filter of CVL, including:
* Enable DCF switch filter for IPv4/IPv6 + TCP/UDP/IGMP (comm #1 package)
* Enable DCF switch filter for tunnel: NVGRE (comm #1 package)
-* Enable DCF switch filter for PPPOES (comm #1 package)
* Enable DCF switch filter for PFCP/L2TPv3/AH/ESP/NAT-T-ESP (comm #1 package)
* Enable DCF switch filter for IP/L2 multicast (comm #1 package)
* Enable DCF switch filter for ethertype/UDP port/MAC VLAN/VLAN filter (comm #1 package)
@@ -115,86 +114,6 @@ Pattern and input set
| | | [Inner Source IP], [Inner Dest IP], |
| | | [Inner Source Port], [Inner Dest Port] |
+---------------------+-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_PAY | [Dest MAC], [VLAN], [seid], |
- | | _session_id_proto_id | [pppoe_proto_id] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_PAY | [Dest MAC], [VLAN], [seid], |
- | | _session_id_proto_id | [pppoe_proto_id] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_PAY | [Dest MAC], [seid], [pppoe_proto_id] |
- | | _session_id_proto_id | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_PAY | [Dest MAC], [seid], [pppoe_proto_id] |
- | | _session_id_proto_id | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_PAY_IP_address | [Source IP], [Dest IP] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_UDP_PAY | [Source IP], [Dest IP], |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_UDP_PAY | [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_TCP_PAY | [Source IP], [Dest IP], |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV4_TCP_PAY | [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_PAY_IP_address | [Source IP], [Dest IP] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_UDP_PAY | [Source IP], [Dest IP], |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_UDP_PAY | [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_TCP_PAY | [Source IP], [Dest IP], |
- | | | [Source Port], [Dest Port] |
- | PPPOES +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPV6_TCP_PAY | [Source IP], [Dest IP], |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _IP_address | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_UDP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_UDP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_TCP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV4_TCP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _IP_address | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_UDP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_UDP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_TCP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | | [Source Port], [Dest Port] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPV6_TCP_PAY | [VLAN], [Source IP], [Dest IP] |
- | | _non_src_dst_port | |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_LCP_PAY | [Dest MAC], [seid], [pppoe_proto_id] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_PPPOE_IPCP_PAY | [Dest MAC], [seid], [pppoe_proto_id] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_LCP_PAY | [Dest MAC], [VLAN], [seid], |
- | | | [pppoe_proto_id] |
- | +-------------------------------+-------------------------------------------+
- | | MAC_VLAN_PPPOE_IPCP_PAY | [Dest MAC], [VLAN], [seid], |
- | | | [pppoe_proto_id] |
- +---------------------+-------------------------------+-------------------------------------------+
| | MAC_IPV4_PFCP_NODE | [Dest Port], [S-field] |
| +-------------------------------+-------------------------------------------+
| | MAC_IPV4_PFCP_SESSION | [Dest Port], [S-field] |
@@ -1472,1292 +1391,6 @@ Test case: MAC_IPV4_NVGRE_MAC_IPV4_TCP
check the rule not exists in the list.
send matched packets, check the packets are not to port 1.
-Test case: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id
-======================================================
-
-1. validate a rule::
-
- testpmd> flow validate 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
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> 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
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Test case: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id
-======================================================
-
-1. validate a rule::
-
- testpmd> flow validate 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
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> 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
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:54",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Test case: MAC_PPPOE_IPV4_PAY_session_id_proto_id
-=================================================
-
-1. validate a rule::
-
- 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
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- 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 list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:54",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Test case: MAC_PPPOE_IPV6_PAY_session_id_proto_id
-=================================================
-
-1. validate a rule::
-
- testpmd> flow validate 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
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> 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
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:54",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x0057)/IPv6()/Raw("x" * 80)],iface="enp27s0f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="enp27s0f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Test case: PPPoE data
-=====================
-
-Subcase 1: MAC_PPPOE_IPV4_PAY_IP_address
-----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 2: MAC_PPPOE_IPV4_UDP_PAY
----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 3: MAC_PPPOE_IPV4_UDP_PAY_non_src_dst_port
---------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 4: MAC_PPPOE_IPV4_TCP_PAY
----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 5: MAC_PPPOE_IPV4_TCP_PAY_non_src_dst_port
---------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 6: MAC_PPPOE_IPV6_PAY_IP_address
-----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",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:2022")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 7: MAC_PPPOE_IPV6_UDP_PAY
----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 8: MAC_PPPOE_IPV6_UDP_PAY_non_src_dst_port
---------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 9: MAC_PPPOE_IPV6_TCP_PAY
----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 10: MAC_PPPOE_IPV6_TCP_PAY_non_src_dst_port
----------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 11: MAC_VLAN_PPPOE_IPV4_PAY_IP_address
-----------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 12: MAC_VLAN_PPPOE_IPV4_UDP_PAY
----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 13: MAC_VLAN_PPPOE_IPV4_UDP_PAY_non_src_dst_port
---------------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY
----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 15: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port
---------------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / tcp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 16: MAC_VLAN_PPPOE_IPV6_PAY_IP_address
-----------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
- sendp([Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x"*80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 17: MAC_VLAN_PPPOE_IPV6_UDP_PAY
----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / udp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 18: MAC_VLAN_PPPOE_IPV6_UDP_PAY_non_src_dst_port
---------------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / udp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 19: MAC_VLAN_PPPOE_IPV6_TCP_PAY
----------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2022 / tcp src is 25 dst is 23 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=27,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=19)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 20: MAC_VLAN_PPPOE_IPV6_TCP_PAY_non_src_dst_port
---------------------------------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth / vlan tci is 1 / pppoes / ipv6 src is CDCD:910A:2222:5498:8475:1111:3900:1536 / tcp / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0057)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Test case: PPPoE control
-========================
-
-Subcase 1: MAC_PPPOE_LCP_PAY
-----------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 2: MAC_PPPOE_IPCP_PAY
------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 3: MAC_VLAN_PPPOE_LCP_PAY
----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0xc021 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> 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 0xc021 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0xc021)/PPP_LCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
-Subcase 4: MAC_VLAN_PPPOE_IPCP_PAY
-----------------------------------
-
-1. validate a rule::
-
- testpmd> flow validate 0 ingress pattern eth dst is 00:11:22:33:44:55 / vlan tci is 1 / pppoes seid is 3 / pppoe_proto_id is 0x8021 / end actions vf id 1 / end
-
- get the message::
-
- Flow rule validated
-
- check the flow list::
-
- testpmd> flow list 0
-
- check the rule not exists in the list.
-
-2. create a rule::
-
- testpmd> 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 0x8021 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rule exists in the list.
-
-3. send matched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check port 1 receive the packets.
- send mismatched packets::
-
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=4)/PPP(proto=0x8021)/PPP_IPCP()/Raw("x" * 80)],iface="ens786f0",count=1)
- sendp([Ether(src="11:22:33:44:55:99",dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP()/Raw("x" * 80)],iface="ens786f0",count=1)
-
- check the packets are not to port 1.
-
-4. verify rules can be destroyed::
-
- testpmd> flow destroy 0 rule 0
- testpmd> flow list 0
-
- check the rule not exists in the list.
- send matched packets, check the packets are not to port 1.
-
Test case: MAC_IPV4_PFCP_NODE
=============================