From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 5D41A5A06 for ; Wed, 4 Nov 2015 04:26:10 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 03 Nov 2015 19:26:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,241,1444719600"; d="scan'208";a="677893314" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga003.jf.intel.com with ESMTP; 03 Nov 2015 19:26:09 -0800 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 3 Nov 2015 19:26:08 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 3 Nov 2015 19:26:07 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.56]) by shsmsx102.ccr.corp.intel.com ([169.254.2.199]) with mapi id 14.03.0248.002; Wed, 4 Nov 2015 11:26:05 +0800 From: "Tang, HaifengX" To: "Liu, Yong" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH] Fdir commands changed, add a new mode parameter into code . Thread-Index: AQHRFq+IdR76N9jZbkmzot1CyPfcQZ6LMhSg Date: Wed, 4 Nov 2015 03:26:04 +0000 Message-ID: References: <1446599509-29558-1-git-send-email-yongjiex.gu@intel.com> <56397964.2030205@intel.com> In-Reply-To: <56397964.2030205@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH] Fdir commands changed, add a new mode parameter into code . X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Nov 2015 03:26:11 -0000 Hi yong: I have verified with developers, MAC-VLAN and Tunnel modes just added into = dpdk recently , We will cover them in future.=20 thanks > > >-----Original Message----- >From: Liu, Yong=20 >Sent: Wednesday, November 04, 2015 11:20 AM >To: Tang, HaifengX; dts@dpdk.org >Subject: Re: [dts] [PATCH] Fdir commands changed, add a new mode parameter= into code . > >Hi Haifeng, >There's only IP mode validated in this suite, could you check with=20 >developer about MAC-VLAN and Tunnel modes? Is there any need to cover=20 >those two modes in fdir suite? > >On 11/04/2015 09:11 AM, yongjie wrote: >> From: haifeng >> >> Signed-off-by: haifeng >> --- >> tests/TestSuite_fdir.py | 324 ++++++++++++++++++++++++----------------= -------- >> 1 file changed, 162 insertions(+), 162 deletions(-) >> >> diff --git a/tests/TestSuite_fdir.py b/tests/TestSuite_fdir.py >> index 9113fb0..31093ac 100644 >> --- a/tests/TestSuite_fdir.py >> +++ b/tests/TestSuite_fdir.py >> @@ -270,62 +270,62 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "fwd" >> =20 >> # ipv4 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %= d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %= d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> =20 >> # update command only work in niantic >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d = fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd = queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d= fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd= queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_interface= , self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d= fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd= queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_interfac= e, self.dut_rx_interface)) >> =20 >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queu= e %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd q= ueue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes ()= fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes= () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_inter= face, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queu= e %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes ()= fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interface, se= lf.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interface, s= elf.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d= fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue= %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd= queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () = fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interface= , self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d= fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd= queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fw= d queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], ifa= ce=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fw= d queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], if= ace=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= ) fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queu= e %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes ()= fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)],= iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= ) fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.fdir_get_flexbytes() >> =20 >> # ipv4 frag >> # ip-frag only support in fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_i= d %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queu= e %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.= dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_= id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_i= d %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd que= ue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queu= e %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.= dut_rx_interface, self.dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -349,59 +349,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "fwd" >> =20 >> # ipv6 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-oth= er src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8= 888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1)= , "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:77= 77:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[= 0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")], iface=3D"%s")' % (self.d= ut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-oth= er src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8= 888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1)= , "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:77= 77:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[= 0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")], iface=3D"%s")' % (self.= dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1= , 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777= :8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0]= , 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut= _ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")], iface=3D"%s")' % (se= lf.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2= , 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> =20 >> # ipv6 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp= src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0= ], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777= :7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.du= t_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport=3D1= 024)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp= src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0= ], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777= :7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.du= t_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport=3D= 1024)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_por= ts[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_= ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (sel= f.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:66= 66:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (= self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport= =3D1024)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], = 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 flexbytes () fwd queue %d fd_id %d " % (self.dut_p= orts[0], 2, 1), "testpmd>") >> =20 >> # ipv6 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2= , 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport=3D32)= ], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2= , 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport=3D32= )], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0= ], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:777= 7:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_port= s[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.du= t_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666= :7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self= .dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0= ], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.du= t_ports[0], 2, 1), "testpmd>") >> =20 >> #ipv6 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter 0 add flow ipv6-sctp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "te= stpmd>") >> + self.dut.send_expect("flow_director_filter 0 mode IP add flow = ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(= 2,1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport=3D32,= dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")' % (self= .dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter 0 del flow ipv6-sctp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "te= stpmd>") >> + self.dut.send_expect("flow_director_filter 0 mode IP del flow = ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(= 2,1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport=3D32= , dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")' % (sel= f.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter 0 add flow ipv6-= sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(1,1),= "testpmd>") >> - self.dut.send_expect("flow_director_filter 0 update flow ip= v6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:777= 7:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,= 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter 0 mode IP add f= low ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d= "%(1,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter 0 mode IP updat= e flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666= :7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id= %d "%(2,1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport= =3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")' %= (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter 0 del flow ipv6-= sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1),= "testpmd>") >> + self.dut.send_expect("flow_director_filter 0 mode IP del f= low ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d= "%(2,1), "testpmd>") >> self.fdir_get_flexbytes() >> =20 >> # ipv6 frag >> # ip-frag only support in fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3= , 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2,= 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_por= ts[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFra= gment()/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interface, self.= dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3= , 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2,= 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_por= ts[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFr= agment()/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interface, self= .dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -417,59 +417,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "drop" >> =20 >> # ipv4 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id = %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue = %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id = %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue = %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d= fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop= queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2")], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () dro= p queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_interfac= e, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () dro= p queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_interface= , self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop que= ue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop = queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes ()= drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes= () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2")/UDP(sport=3D1024,dport=3D1024)], iface=3D"%s")' % (self.dut_rx_inte= rface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes ()= drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interface, s= elf.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interface, se= lf.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %= d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queu= e %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () dro= p queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () = drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % (self.dut_rx_interfac= e, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () dro= p queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> =20 >> # ipv4 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () dr= op queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], if= ace=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () dr= op queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], ifa= ce=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= ) drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbyte= s () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>"= ) >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0= flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpm= d>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)]= , iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= ) drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>"= ) >> self.fdir_get_flexbytes() >> =20 >> # ipv4 frag >> # ip-frag only support in fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_= id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self= .dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd= _id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_= id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop qu= eue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop que= ue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.= 0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.d= ut_rx_interface, self.dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -489,42 +489,42 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "drop" >> =20 >> # ipv6 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], = 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_p= orts[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")], iface=3D"%s")' % (s= elf.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], = 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_p= orts[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")], iface=3D"%s")' % (se= lf.dut_rx_interface, self.dut_rx_interface)) >> =20 >> # ipv6 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (se= lf.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dpor= t=3D1024)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)= ) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (se= lf.dut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport= =3D1024)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> =20 >> # ipv6 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[= 0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.d= ut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[= 0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.d= ut_ports[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)], iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) >> =20 >> # ipv6 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:= 8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(sel= f.dut_ports[0],2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7= 777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id = %d "%(self.dut_ports[0],2,1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport= =3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")' %= (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:= 8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(sel= f.dut_ports[0],2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7= 777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id = %d "%(self.dut_ports[0],2,1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport= =3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")' %= (self.dut_rx_interface, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow = ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%= (self.dut_ports[0],1,1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update fl= ow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d= "%(self.dut_ports[0],2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP = add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:66= 66:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd= _id %d "%(self.dut_ports[0],1,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP = update flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666= :6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d= fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if= _hwaddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE= 00:200", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sp= ort=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"X"*46)], iface=3D"%s")= ' % (self.dut_rx_interface, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow = ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%= (self.dut_ports[0],2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP = del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:66= 66:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd= _id %d "%(self.dut_ports[0],2,1), "testpmd>") >> self.fdir_get_flexbytes() >> =20 >> # ipv6 frag >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], = 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2= , 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_p= orts[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFr= agment()/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interface, self= .dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3= , 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2= , 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_po= rts[0], 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_po= rts[0], 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFra= gment()/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interface, self.= dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -546,59 +546,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_get_flexbytes() >> =20 >> # ipv4 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id= %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue= %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload= , self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id= %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue= %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload= , self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %= d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fw= d queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd= >") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pay= load, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> =20 >> # ipv4 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue = %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) f= wd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpm= d>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/UDP(sport=3D1024,dport=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self= .dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue = %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) f= wd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpm= d>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/UDP(sport=3D1024,dport=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (sel= f.dut_rx_interface, self.payload, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd qu= eue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd= queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>= ") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%= s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "te= stpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes= (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), = "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/UDP(sport=3D1024,dport=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (= self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd qu= eue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%= s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "te= stpmd>") >> =20 >> # ipv4 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/TCP(sport=3D32,dport=3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut= _rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/TCP(sport=3D32,dport=3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.du= t_rx_interface, self.payload, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue = %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd que= ue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) f= wd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpm= d>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s= ) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "tes= tpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/TCP(sport=3D32,dport=3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self= .dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue = %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) f= wd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpm= d>") >> =20 >> # ipv4 frag >> # ip-frag only support fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd= _id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd qu= eue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"%s")], iface=3D"%s")' % (self.du= t_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd= _id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd qu= eue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"%s")], iface=3D"%s")' % (self.du= t_rx_interface, self.payload, self.dut_rx_interface)) >> =20 >> # ipv4 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) = fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>= ") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), = "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], iface= =3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) = fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>= ") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), = "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], ifac= e=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= %s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 1, 1), "test= pmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbyte= s (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "t= estpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 1, = 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0= flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, = 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168= .0.2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], i= face=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface= )) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (= %s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "test= pmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 fl= exbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, = 1), "testpmd>") >> self.fdir_get_flexbytes() >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -625,58 +625,58 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_get_flexbytes() >> =20 >> # ipv6 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-oth= er src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8= 888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], sel= f.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:77= 77:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_port= s[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load=3D"%s")], iface= =3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-oth= er src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8= 888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], sel= f.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:77= 77:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_port= s[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load=3D"%s")], iface= =3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777= :8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[= 0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.d= ut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load=3D"%s")], ifa= ce=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> =20 >> # ipv6 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp= src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports= [0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777= :7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.= dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport=3D1= 024)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.paylo= ad, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp= src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports= [0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777= :7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.= dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport=3D= 1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payl= oad, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_p= orts[0], self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.du= t_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (s= elf.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:66= 66:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " %= (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport= =3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.p= ayload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_p= orts[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (s= elf.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> =20 >> # ipv6 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport=3D32)= /Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload, = self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp= src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:= 8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7= 777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport=3D32= )/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload,= self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports= [0], self.flexbytes, 1, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:777= 7:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_po= rts[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.= dut_ports[0], self.flexbytes, 1, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666= :7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (se= lf.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pay= load, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports= [0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.= dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> #ipv6 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv6-sct= p src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888= :8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.d= ut_ports[0],self.flexbytes,2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:= 7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d = "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", = dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport=3D32,= dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], iface=3D"%s")' % (self.d= ut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6-sct= p src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888= :8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.d= ut_ports[0],self.flexbytes,2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:= 7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d = "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200",= dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport=3D32= , dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], iface=3D"%s")' % (self.= dut_rx_interface, self.payload, self.dut_rx_interface)) >> if (self.nic in ["niantic"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:= 8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(se= lf.dut_ports[0],self.flexbytes,1,1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s update flow i= pv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:77= 77:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%= (self.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7= 777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id= %d "%(self.dut_ports[0],self.flexbytes,1,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP upda= te flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:666= 6:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd= _id %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D132)/SCTP(sport= =3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], iface=3D"%s")' % (= self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:= 8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(se= lf.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7= 777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id= %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") >> self.fdir_get_flexbytes() >> =20 >> # ipv6 frag >> # ip-frag only support fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], = self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_p= orts[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFra= gment()/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pa= yload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], = self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_p= orts[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFr= agment()/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.p= ayload, self.dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -694,39 +694,39 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "drop" >> =20 >> # ipv4 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_i= d %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queu= e %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payloa= d, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_i= d %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queu= e %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload= , self.dut_rx_interface)) >> =20 >> # ipv4 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue= %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) d= rop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testp= md>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/UDP(sport=3D1024,dport=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (sel= f.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp= src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue= %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) d= rop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testp= md>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/UDP(sport=3D1024,dport=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self= .dut_rx_interface, self.payload, self.dut_rx_interface)) >> =20 >> # ipv4 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d = fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop = queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>"= ) >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/TCP(sport=3D32,dport=3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.du= t_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp= src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d = fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop = queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>"= ) >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/TCP(sport=3D32,dport=3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut= _rx_interface, self.payload, self.dut_rx_interface)) >> =20 >> # ipv4 sctp >> self.fdir_get_flexbytes(sctp=3DTrue) >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) = drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd= >") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1),= "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwaddr(= "%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.= 2")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], ifac= e=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4-sct= p src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) = drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd= >") >> + self.dut.send_expect("flow_director_filter %s mode IP del flow= ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexby= tes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1),= "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwaddr("= %s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.0.2= ")/SCTP(sport=3D32, dport=3D32, tag=3D1)/SCTPChunkData(data=3D"%s")], iface= =3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> self.fdir_get_flexbytes() >> =20 >> # ipv4 frag >> # ip-frag only support fortville >> if (self.nic in ["fortville_eagle", "fortville_spirit", "fortv= ille_spirit_single"]): >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d = fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop = queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>"= ) >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.16= 8.0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"%s")], iface=3D"%s")' % (self.d= ut_rx_interface, self.payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d = fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv4= -frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d f= d_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop = queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>"= ) >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop q= ueue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"),dst=3D"00:1B:21:8E:B2:30")/IP(src=3D"192.168.0.1", dst=3D"192.168.= 0.2", frag=3D1, flags=3D"MF")/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut= _rx_interface, self.payload, self.dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -746,32 +746,32 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.fdir_type =3D "drop" >> =20 >> # ipv6 ip >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0]= , self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut= _ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load=3D"%s")], if= ace=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)= ) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0]= , self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut= _ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load=3D"%s")], ifa= ce=3D"%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >> =20 >> # ipv6 udp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_p= orts[0], self.flexbytes, 2, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (s= elf.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (= self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dpor= t=3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.= payload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777= :8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:= 7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (= self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=3D1024,dport= =3D1024)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.p= ayload, self.dut_rx_interface)) >> =20 >> # ipv6 tcp >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports= [0], self.flexbytes, 2, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_port= s[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.= dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self= .dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pay= load, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8= 888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_port= s[0], self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:77= 77:7777:8888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self= .dut_ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D32,dport= =3D32)/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pay= load, self.dut_rx_interface)) >> =20 >> # ipv6 frag >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0]= , self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s add flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut= _ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(False, 'sendp([Ether(src=3Dget_if_hwa= ddr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:2= 00", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFr= agment()/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.p= ayload, self.dut_rx_interface)) >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:88= 88:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0]= , self.flexbytes, 3, 1), "testpmd>") >> - self.dut.send_expect("flow_director_filter %s del flow ipv6= -frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:888= 8:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0],= self.flexbytes, 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:777= 7:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut= _ports[0], self.flexbytes, 3, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP del = flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777= :7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_= ports[0], self.flexbytes, 2, 1), "testpmd>") >> self.send_and_verify(True, 'sendp([Ether(src=3Dget_if_hwad= dr("%s"), dst=3D"00:1B:21:8E:B2:30")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:20= 0", dst=3D"3555:5555:6666:6666:7777:7777:8888:8888", nh=3D44)/IPv6ExtHdrFra= gment()/Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.pa= yload, self.dut_rx_interface)) >> =20 >> self.dut.send_expect("quit", "# ", 30) >> @@ -789,7 +789,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> self.dut.send_expect("set fwd rxonly", "testpmd>") >> =20 >> # set up a fdir rule and check guarant_count >> - self.dut.send_expect("flow_director_filter %s add flow ipv4-oth= er src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %= d " % (self.dut_ports[0], 2, 1), "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add flow= ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %= d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >> out =3D self.dut.send_expect("show port fdir all", "testpmd>") >> result_scanner =3D r"guarant_count: 1" >> scanner =3D re.compile(result_scanner, re.DOTALL) >> @@ -827,7 +827,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): >> for i in range(num_rules): >> src_ip_temp =3D self.increment_ip_address(src_ip_temp, 1) >> dst_ip_temp =3D self.increment_ip_address(dst_ip_temp, 1) >> - self.dut.send_expect("flow_director_filter %s add flow ipv4= -other src %s dst %s vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self= .dut_ports[0], src_ip_temp, dst_ip_temp, self.flexbytes, i % self.queue, i)= , "testpmd>") >> + self.dut.send_expect("flow_director_filter %s mode IP add = flow ipv4-other src %s dst %s vlan 0 flexbytes (%s) fwd queue %d fd_id %d = " % (self.dut_ports[0], src_ip_temp, dst_ip_temp, self.flexbytes, i % self.= queue, i), "testpmd>") >> =20 >> def fdir_perf_set_flows(self, num_flows, frame_size): >> """ > >