From patchwork Tue Mar 16 10:05:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 89214 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EDC3EA054F; Tue, 16 Mar 2021 11:17:26 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E158A24280E; Tue, 16 Mar 2021 11:17:26 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 1FFA624280D for ; Tue, 16 Mar 2021 11:17:23 +0100 (CET) IronPort-SDR: wWnlRUinG5lqRyMfDuX3UZThhlkSXLcFcve19xseNioFU/hBmw11YTMi1YK9uY/EVRcxU5Qqfu zp3AW8V7zAVQ== X-IronPort-AV: E=McAfee;i="6000,8403,9924"; a="274277040" X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="274277040" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 03:17:23 -0700 IronPort-SDR: K3po9myZgNdW6+gUoBeRYquKJxkLzUM2Xhs1xv+UoCuT2kNy+4a27w3u604Cr+PsOXNeWjW5uA R8EhxyDyQxTQ== X-IronPort-AV: E=Sophos;i="5.81,251,1610438400"; d="scan'208";a="412162966" Received: from unknown (HELO dpdk-huangzm-d.sh.intel.com) ([10.240.183.72]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 03:17:21 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: xueqin.lin@intel.com, Zhimin Huang Date: Tue, 16 Mar 2021 18:05:05 +0800 Message-Id: <1615889106-6745-2-git-send-email-zhiminx.huang@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615889106-6745-1-git-send-email-zhiminx.huang@intel.com> References: <1615889106-6745-1-git-send-email-zhiminx.huang@intel.com> Subject: [dts] [PATCH V1 1/2] test_plans/cvl_dcf_switch_filter_test_plan:remove pppoe case X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" *.split cvl_dcf_switch_filter pppoe case into new suite Signed-off-by: Zhimin Huang --- test_plans/cvl_dcf_switch_filter_test_plan.rst | 1369 +----------------------- 1 file changed, 1 insertion(+), 1368 deletions(-) diff --git a/test_plans/cvl_dcf_switch_filter_test_plan.rst b/test_plans/cvl_dcf_switch_filter_test_plan.rst index d6e2998..65b2ccf 100644 --- a/test_plans/cvl_dcf_switch_filter_test_plan.rst +++ b/test_plans/cvl_dcf_switch_filter_test_plan.rst @@ -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 =============================