From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 18D15568C for ; Thu, 31 Mar 2016 08:18:34 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP; 30 Mar 2016 23:18:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,420,1455004800"; d="scan'208";a="922349859" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga001.jf.intel.com with ESMTP; 30 Mar 2016 23:18:34 -0700 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 30 Mar 2016 23:18:33 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 30 Mar 2016 23:18:32 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.136]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.18]) with mapi id 14.03.0248.002; Thu, 31 Mar 2016 14:18:30 +0800 From: "Xu, HuilongX" 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: AQHRil016jvVM4Fz+EuNamW/CQU8PZ9zFWKA Date: Thu, 31 Mar 2016 06:18:29 +0000 Message-ID: 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: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [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: Thu, 31 Mar 2016 06:18:36 -0000 Acked-by: huilongx=20 > -----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"1 > 92.168.0.1", dst=3D"192.168.0.2")], iface=3D"%s")' % (self.dut_rx_interfa= ce, > 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 > 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 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], 1, > 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP > update 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>") >=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 () > 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], 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>") > 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 > update 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 > update 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 > update 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 > update 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_interface, 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_interface, 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 > update 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 > update 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_interface, 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 > 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 () 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 > 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 () 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 > 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"1 > 92.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 > update 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 > update 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 > update 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 > update 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 > 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 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")/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 > update 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 > update 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 > update 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 > update 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 > update 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 > update 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 > 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], 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>") > 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 > update 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 > update 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_interface, 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_interface, 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 > update 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 > update 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_interface, 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 > 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], 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 > 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], 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"1 > 92.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 > 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")/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 > 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")/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 > 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 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=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_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, 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"1 > 92.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 > update 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 > update 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_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, 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 > update 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 > update 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 > update 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 > update 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"1 > 92.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 > update 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 > update 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 > update 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 > update 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.payloa= d, > 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.payloa= d, > 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 > update 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 > update 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.payloa= d, > 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)/Ra > w(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)/Ra > w(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 > update 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 > update 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)/Ra > w(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 > 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 > (%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 > 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 (%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_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) 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_interface, 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) > 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 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) > 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 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"1 > 92.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 > 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) 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.payloa= d, > 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 > 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) 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.payloa= d, > 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)/Ra > w(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)/Ra > w(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