From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id B385C2BFD for ; Mon, 11 Apr 2016 15:13:28 +0200 (CEST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP; 11 Apr 2016 06:13:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,462,1455004800"; d="scan'208";a="82995981" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga004.fm.intel.com with ESMTP; 11 Apr 2016 06:13:27 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Mon, 11 Apr 2016 06:13:26 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.136]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.10]) with mapi id 14.03.0248.002; Mon, 11 Apr 2016 21:13:24 +0800 From: "Liu, Yong" To: "Tang, HaifengX" , "dts@dpdk.org" CC: "Tang, HaifengX" Thread-Topic: [dts] [DTS][PATCH] change fdir command, add some new parameters:tos , ttl , proto Thread-Index: AQHRil01+B7G6M2leUGHv7BEsZxU5J+E0wig Date: Mon, 11 Apr 2016 13:13:24 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E14EF033C@SHSMSX101.ccr.corp.intel.com> References: <1459325753-108759-1-git-send-email-haifengx.tang@intel.com> In-Reply-To: <1459325753-108759-1-git-send-email-haifengx.tang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjRlNjdiZTAtMTBhMC00OGY1LTk3NWUtNWFjZTEwNTMwYzA3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IldNN2VreGEyK1gzZkZTVFwveldOQWswMVJHdlFQTEFiZkRMUVJHN1AyUUJZPSJ9 x-ctpclassification: CTP_IC 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] [DTS][PATCH] change fdir command, add some new parameters:tos , ttl , proto 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: Mon, 11 Apr 2016 13:13:30 -0000 Applied with commit modified. Thanks. > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of haifeng > Sent: Wednesday, March 30, 2016 4:16 PM > To: dts@dpdk.org > Cc: Tang, HaifengX > Subject: [dts] [DTS][PATCH] change fdir command, add some new > parameters:tos , ttl , proto >=20 > Signed-off-by: haifeng > --- > tests/TestSuite_fdir.py | 329 +++++++++++++++++++++++++-----------------= - > ----- > 1 file changed, 172 insertions(+), 157 deletions(-) >=20 > diff --git a/tests/TestSuite_fdir.py b/tests/TestSuite_fdir.py > index 122e665..5a0a6b0 100644 > --- a/tests/TestSuite_fdir.py > +++ b/tests/TestSuite_fdir.py > @@ -247,62 +247,62 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "fwd" >=20 > # ipv4 ip > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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 mode IP del flow > ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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 mode IP add > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd p= f > queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd p= f > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1= ), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf 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 mode IP del > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd p= f > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 2, 1= ), > "testpmd>") >=20 > # ipv4 udp > - 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 () fw= d > pf 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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 mode IP del flow > ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fw= d > pf 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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_interface, self.dut_rx_interface)) >=20 > if (self.nic in ["niantic"]): > - 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 pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes = () > fwd pf 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 tos 2 ttl 40 > vlan 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1= ), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 tos 2 ttl 40 > vlan 0 flexbytes () fwd pf 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 mode IP del > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes = () > fwd pf 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 tos 2 ttl 40 > vlan 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 2, 1= ), > "testpmd>") >=20 > # ipv4 tcp > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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")/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 mode IP add > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () > fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () > fwd pf 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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 mode IP add flow > ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes () fwd pf 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 tos 2 ttl > 40 vlan 0 flexbytes () fwd pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > - 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 > flexbytes () fwd pf 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 tos 2 ttl > 40 vlan 0 flexbytes () fwd pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - 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 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () > fwd pf 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 tos 2 > ttl 40 vlan 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0= ], > 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 tos 2 ttl 40 vlan = 0 > flexbytes () fwd pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > - 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 > flexbytes () fwd pf 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 tos 2 > ttl 40 vlan 0 flexbytes () fwd pf 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", > "fortville_spirit_single"]): > - 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 p= f > queue %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 pf > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf queue %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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf 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", f= rag=3D1, > flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interfac= e, > self.dut_rx_interface)) > - 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 p= f > queue %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 pf > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () fwd pf queue %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 tos 2 proto 20 ttl 40 vla= n > 0 flexbytes () fwd pf 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", 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) > @@ -326,59 +326,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "fwd" >=20 > # ipv6 ip > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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 mode IP add > 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 pf > queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst > 3555:5555:6666:6666:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 2, 1), > "testpmd>") >=20 > # ipv6 udp > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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")/UDP(sport=3D1024,dport= =3D1024)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () fwd pf 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")/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 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 pf > queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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 tos 2 proto 20 ttl 40 vlan > 0 flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst > 3555:5555:6666:6666:7777:7777:8888:8888 1024 tos 2 proto 20 ttl 40 vlan > 0 flexbytes () fwd pf 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")/UDP(sport=3D1024,dport= =3D1024)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > 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 pf queue %d > fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") >=20 > # ipv6 tcp > - 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:7777:8888:8888 32 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 flexbyte= s > () fwd pf 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")/TCP(sport=3D32,dport=3D3= 2)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 32 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 flexbyte= s > () fwd pf 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")/TCP(sport=3D32,dport=3D3= 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 mode IP 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 pf > queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst > 3555:5555:6666:6666:7777:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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")/TCP(sport=3D32,dport=3D3= 2)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 32 vlan 0 flexbytes () fwd pf > 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:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[0], 2, 1), > "testpmd>") >=20 > #ipv6 sctp > self.fdir_get_flexbytes(sctp=3DTrue) > - 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:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes = () > fwd pf queue %d fd_id %d "%(2,1), "testpmd>") > + 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:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 > vlan 0 flexbytes () fwd pf 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=3D3= 2, > 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 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 = () > fwd pf queue %d fd_id %d "%(2,1), "testpmd>") > + 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:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 > vlan 0 flexbytes () fwd pf 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=3D3= 2, > 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 0 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 = () > fwd pf queue %d fd_id %d "%(1,1), "testpmd>") > - self.dut.send_expect("flow_director_filter 0 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 = () > fwd pf queue %d fd_id %d "%(2,1), "testpmd>") > + 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:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () fwd pf queue %d fd_id %d "%(1,1), "testpmd>") > + self.dut.send_expect("flow_director_filter 0 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 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () fwd pf 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=3D3= 2, > 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 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 = () > fwd pf queue %d fd_id %d "%(2,1), "testpmd>") > + 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:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () fwd pf 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", > "fortville_spirit_single"]): > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > queue %d fd_id %d " % (self.dut_ports[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 pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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", > nh=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"X"*46)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > queue %d fd_id %d " % (self.dut_ports[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 pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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", > nh=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"X"*46)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) >=20 > self.dut.send_expect("quit", "# ", 30) > @@ -394,59 +394,65 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "drop" >=20 > # ipv4 ip > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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 mode IP del flow > ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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 mode IP add > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop > pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, > 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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 mode IP del > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 2, > 1), "testpmd>") >=20 > # ipv4 udp > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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_interface, self.dut_rx_interface)) > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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 mode IP add > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes = () > drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes = () > drop pf 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 tos 2 ttl 40 > vlan 0 flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, > 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 tos 2 ttl 40 > vlan 0 flexbytes () drop pf 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_interface, self.dut_rx_interface)) > - 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 pf 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 tos 2 ttl 40 > vlan 0 flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 2, > 1), "testpmd>") >=20 > # ipv4 tcp > - 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 p= f > 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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 p= f > 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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")/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 mode IP add > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () > drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () > drop pf 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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")/TCP(sport=3D32,dport=3D32)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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 mode IP add flow > ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes () drop pf 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 tos 2 ttl > 40 vlan 0 flexbytes () drop pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > - 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 > flexbytes () drop pf 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 tos 2 ttl > 40 vlan 0 flexbytes () drop pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - 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 > flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[0], 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes () drop pf 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 tos 2 > ttl 40 vlan 0 flexbytes () drop pf queue %d fd_id %d " % > (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 tos 2 > ttl 40 vlan 0 flexbytes () drop pf 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)], iface=3D"%s")' % (self.dut_rx_int= erface, > self.dut_rx_interface)) > - 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 > flexbytes () drop pf 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 tos 2 > ttl 40 vlan 0 flexbytes () drop pf 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", > "fortville_spirit_single"]): > - 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 > pf queue %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 p= f > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf queue %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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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", f= rag=3D1, > flags=3D"MF")/Raw(load=3D"X"*46)], iface=3D"%s")' % (self.dut_rx_interfac= e, > self.dut_rx_interface)) > - 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 > pf queue %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 p= f > 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf queue %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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes () drop pf 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", 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) > @@ -466,42 +472,42 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "drop" >=20 > # ipv6 ip > - 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:7777:8888:8888 vlan 0 flexbytes () drop pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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)) > - 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:7777:8888:8888 vlan 0 flexbytes () drop pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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.dut_rx_interface, self.dut_rx_interface)) >=20 > # ipv6 udp > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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")/UDP(sport=3D1024,dport= =3D1024)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes () drop pf 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")/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 mode IP 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 () drop pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 flexbyte= s > () drop pf 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")/TCP(sport=3D32,dport=3D3= 2)], > iface=3D"%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 32 vlan 0 flexbytes () drop pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 flexbyte= s > () drop pf 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")/TCP(sport=3D32,dport=3D3= 2)], > 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 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 = () > drop pf 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:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 vla= n > 0 flexbytes () drop pf 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", nh=3D132)/SCTP(sport=3D3= 2, > 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 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 = () > drop pf 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:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 vla= n > 0 flexbytes () drop pf 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", nh=3D132)/SCTP(sport=3D3= 2, > 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 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 = () > drop pf 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 pf 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:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () drop pf 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 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () drop pf 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", nh=3D132)/SCTP(sport=3D3= 2, > 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 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 = () > drop pf 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:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes () drop pf 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 mode IP add > flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst > 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop pf > queue %d fd_id %d " % (self.dut_ports[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 pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf queue %d fd_id %d " % (self.dut_ports[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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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", > nh=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"X"*46)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) > - 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:7777:8888:8888 vlan 0 flexbytes () fwd pf > queue %d fd_id %d " % (self.dut_ports[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 pf > 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:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf queue %d fd_id %d " % (self.dut_ports[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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () drop pf 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", > nh=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"X"*46)], iface=3D"%s")' % > (self.dut_rx_interface, self.dut_rx_interface)) >=20 > self.dut.send_expect("quit", "# ", 30) > @@ -523,59 +529,62 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_get_flexbytes() >=20 > # ipv4 ip > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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_int= erface, > self.payload, self.dut_rx_interface)) > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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 mode IP add > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd > pf queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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_int= erface, > self.payload, self.dut_rx_interface)) > - 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 > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 2, 1), "testpmd>") >=20 > # ipv4 udp > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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")/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 mode IP del flow > ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) > fwd pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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")/UDP(sport=3D1024,dport=3D1024)/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 mode IP add > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes > (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, > 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes > (%s) fwd pf 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 tos 2 ttl 40 > vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 tos 2 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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")/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 mode IP del > flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes > (%s) fwd pf 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 tos 2 ttl 40 > vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 2, 1), "testpmd>") >=20 > # ipv4 tcp > - 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 > pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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)) > - 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 > pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - 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 pf queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) > fwd pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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)) > - 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 pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 2, 1), "testpmd>") >=20 > # ipv4 frag > # ip-frag only support fortville > if (self.nic in ["fortville_eagle", "fortville_spirit", > "fortville_spirit_single"]): > - 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 > pf 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) fwd > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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", f= rag=3D1, > flags=3D"MF")/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 mode IP del > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd > pf 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) fwd > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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", frag=3D1, flags=3D"MF")/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 mode IP add flow > ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes (%s) fwd pf 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 tos 2 ttl > 40 vlan 0 flexbytes (%s) fwd pf 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_inter= face, > self.payload, self.dut_rx_interface)) > - 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 > flexbytes (%s) fwd pf 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 tos 2 ttl > 40 vlan 0 flexbytes (%s) fwd pf 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")], iface=3D"%s")' % (self.dut_rx_inter= face, > self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - 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 > flexbytes (%s) fwd pf queue %d fd_id %d > "%(self.dut_ports[0],self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes (%s) fwd pf 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 tos 2 > ttl 40 vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d > "%(self.dut_ports[0],self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 tos 2 > ttl 40 vlan 0 flexbytes (%s) fwd pf 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_inter= face, > self.payload, self.dut_rx_interface)) > - 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 > flexbytes (%s) fwd pf 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 tos 2 > ttl 40 vlan 0 flexbytes (%s) fwd pf 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) > @@ -602,58 +611,58 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_get_flexbytes() >=20 > # ipv6 ip > - 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:7777:8888:8888 vlan 0 flexbytes (%s) fwd pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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")/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 mode IP del 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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")/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 mode IP add > 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 pf > queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst > 3555:5555:6666:6666:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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")/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 mode IP del > 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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= =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 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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= =3D1024)/ > 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 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 pf > queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst > 3555:5555:6666:6666:7777:7777:8888:8888 1024 tos 2 proto 20 ttl 40 vlan > 0 flexbytes (%s) fwd pf 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= =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 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 pf > 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 tos 2 proto 20 ttl 40 vlan > 0 flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 2, 1), "testpmd>") >=20 > # ipv6 tcp > - 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:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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=3D3= 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 mode IP 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 pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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=3D3= 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 mode IP 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 pf > queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s mode IP updat= e > 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 pf > 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:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf queue %d fd_id %d " % (self.dut_ports[0], > self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP updat= e > flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst > 3555:5555:6666:6666:7777:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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=3D3= 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 mode IP 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 pf > 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:7777:8888:8888 32 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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 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 pf 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:7777:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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=3D3= 2, > 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 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 pf 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-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst > 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 ttl 40 > vlan 0 flexbytes (%s) fwd pf 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=3D3= 2, > 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 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 pf queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,1,1), > "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 > (%s) fwd pf 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:7777:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes (%s) fwd pf queue %d fd_id %d > "%(self.dut_ports[0],self.flexbytes,1,1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s 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 tos 2 proto 20 > ttl 40 vlan 0 flexbytes (%s) fwd pf 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=3D3= 2, > 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 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 pf 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-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst > 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 tos 2 proto 20 > ttl 40 vlan 0 flexbytes (%s) fwd pf 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", > "fortville_spirit_single"]): > - 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:7777:8888:8888 vlan 0 flexbytes (%s) fwd pf > 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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=3D44)/IPv6ExtHdrFragment()/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 mode IP del > 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 pf > 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) fwd pf 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=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"%s")], iface=3D"%s")' % > (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >=20 > self.dut.send_expect("quit", "# ", 30) > @@ -671,39 +680,45 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "drop" >=20 > # ipv4 ip > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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_int= erface, > self.payload, self.dut_rx_interface)) > - 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 pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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_int= erface, > self.payload, self.dut_rx_interface)) >=20 > # ipv4 udp > - 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) > drop pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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")/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 mode IP del flow > ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) > drop pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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")/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 mode IP add flow > ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop > pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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.dut_rx_interface, self.payload, self.dut_rx_interface)) > - 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 > pf 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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 mode IP add flow > ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 > flexbytes (%s) drop pf 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 tos 2 ttl > 40 vlan 0 flexbytes (%s) drop pf 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")], iface=3D"%s")' % (self.dut_rx_inter= face, > self.payload, self.dut_rx_interface)) > - 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 > flexbytes (%s) drop pf 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 tos 2 ttl > 40 vlan 0 flexbytes (%s) drop pf 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_inter= face, > 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", > "fortville_spirit_single"]): > - 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) dro= p > pf 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 > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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", f= rag=3D1, > flags=3D"MF")/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 mode IP del > flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) dro= p > pf 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 > pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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-frag src 192.168.0.1 dst 192.168.0.2 tos 2 proto 20 ttl 40 > vlan 0 flexbytes (%s) drop pf 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", 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) > @@ -723,28 +738,28 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type =3D "drop" >=20 > # ipv6 ip > - 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:7777:8888:8888 vlan 0 flexbytes (%s) drop pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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")/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 mode IP del > 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) drop pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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")/Raw(load=3D"%s")], > iface=3D"%s")' % (self.dut_rx_interface, self.payload, > self.dut_rx_interface)) >=20 > # ipv6 udp > - 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 p= f > 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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= =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 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 p= f > 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 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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= =3D1024)/ > Raw(load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload, > self.dut_rx_interface)) >=20 > # ipv6 tcp > - 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:7777:8888:8888 32 vlan 0 flexbytes (%s) drop pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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=3D3= 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 mode IP 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) drop pf > 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:7777:8888:8888 32 tos 2 ttl 40 vlan 0 > flexbytes (%s) drop pf 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=3D3= 2)/Raw( > load=3D"%s")], iface=3D"%s")' % (self.dut_rx_interface, self.payload, > self.dut_rx_interface)) >=20 > # ipv6 frag > - 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 pf > 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-frag src FE80:0:0:0:200:1FF:FE00:200 dst > 3555:5555:6666:6666:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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=3D44)/IPv6ExtHdrFragment()/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 mode IP del > 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) drop pf > 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 pf > 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:7777:7777:8888:8888 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes (%s) drop pf 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=3D44)/IPv6ExtHdrFragment()/Raw(load=3D"%s")], iface=3D"%s")' % > (self.dut_rx_interface, self.payload, self.dut_rx_interface)) >=20 > self.dut.send_expect("quit", "# ", 30) > @@ -762,7 +777,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 mode IP add flow > ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd pf > 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 tos 2 proto 20 ttl 40 vlan 0 > flexbytes () fwd pf 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) > @@ -800,7 +815,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 mode IP add > flow ipv4-other src %s dst %s vlan 0 flexbytes (%s) fwd pf 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 tos 2 proto 20 ttl 40 vlan 0 flexbytes (%= s) > fwd pf 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): > """ > -- > 1.9.3