From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 800335A58 for ; Wed, 4 Nov 2015 05:42:01 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 03 Nov 2015 20:42:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,241,1444719600"; d="scan'208";a="593646845" Received: from stv-crb-56.sh.intel.com (HELO [10.239.128.116]) ([10.239.128.116]) by FMSMGA003.fm.intel.com with ESMTP; 03 Nov 2015 20:41:58 -0800 Message-ID: <56398CF3.1090007@intel.com> Date: Wed, 04 Nov 2015 12:43:31 +0800 From: "Liu, Yong" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: yongjie , dts@dpdk.org References: <1446599509-29558-1-git-send-email-yongjiex.gu@intel.com> In-Reply-To: <1446599509-29558-1-git-send-email-yongjiex.gu@intel.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dts] [PATCH] Fdir commands changed, add a new mode parameter into code . X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Nov 2015 04:42:03 -0000 Applied with more comments. Thanks. On 11/04/2015 09:11 AM, yongjie wrote: > From: haifeng > > Signed-off-by: haifeng > --- > tests/TestSuite_fdir.py | 324 ++++++++++++++++++++++++------------------------ > 1 file changed, 162 insertions(+), 162 deletions(-) > > diff --git a/tests/TestSuite_fdir.py b/tests/TestSuite_fdir.py > index 9113fb0..31093ac 100644 > --- a/tests/TestSuite_fdir.py > +++ b/tests/TestSuite_fdir.py > @@ -270,62 +270,62 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "fwd" > > # ipv4 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > # update command only work in niantic > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.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 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.fdir_get_flexbytes() > > # 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 add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -349,59 +349,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "fwd" > > # ipv6 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.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 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv6 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv6 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > #ipv6 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter 0 add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "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 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter 0 del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "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 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter 0 add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(1,1), "testpmd>") > - self.dut.send_expect("flow_director_filter 0 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 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 vlan 0 flexbytes () fwd 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 queue %d fd_id %d "%(2,1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter 0 del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "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 vlan 0 flexbytes () fwd queue %d fd_id %d "%(2,1), "testpmd>") > self.fdir_get_flexbytes() > > # 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 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 queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -417,59 +417,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "drop" > > # ipv4 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > > # ipv4 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.fdir_get_flexbytes() > > # 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 add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () drop 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 queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -489,42 +489,42 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "drop" > > # ipv6 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > # ipv6 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > # ipv6 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > # ipv6 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(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 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(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 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],1,1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") > + self.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 queue %d fd_id %d "%(self.dut_ports[0],1,1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes () drop queue %d fd_id %d "%(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 vlan 0 flexbytes () drop queue %d fd_id %d "%(self.dut_ports[0],2,1), "testpmd>") > self.fdir_get_flexbytes() > > # ipv6 frag > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes () drop queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="X"*46)], iface="%s")' % (self.dut_rx_interface, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -546,59 +546,59 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_get_flexbytes() > > # ipv4 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > > # ipv4 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > > # ipv4 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP update flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > > # 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 add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv4 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s update flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.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 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 queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.fdir_get_flexbytes() > > self.dut.send_expect("quit", "# ", 30) > @@ -625,58 +625,58 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_get_flexbytes() > > # ipv6 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > > # ipv6 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > > # ipv6 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 1, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > #ipv6 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > if (self.nic in ["niantic"]): > - self.dut.send_expect("flow_director_filter %s add flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,1,1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,1,1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP 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 queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=132)/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-sctp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 verify_tag 1 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes,2,1), "testpmd>") > self.fdir_get_flexbytes() > > # 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 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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -694,39 +694,39 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "drop" > > # ipv4 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv4 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-udp src 192.168.0.1 1024 dst 192.168.0.2 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv4 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-tcp src 192.168.0.1 32 dst 192.168.0.2 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv4 sctp > self.fdir_get_flexbytes(sctp=True) > - self.dut.send_expect("flow_director_filter %s add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-sctp src 192.168.0.1 32 dst 192.168.0.2 32 verify_tag 1 vlan 0 flexbytes (%s) drop queue %d fd_id %d "%(self.dut_ports[0],self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2")/SCTP(sport=32, dport=32, tag=1)/SCTPChunkData(data="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > self.fdir_get_flexbytes() > > # 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 add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv4-frag src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"),dst="00:1B:21:8E:B2:30")/IP(src="192.168.0.1", dst="192.168.0.2", frag=1, flags="MF")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -746,32 +746,32 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.fdir_type = "drop" > > # ipv6 ip > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv6 udp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-udp src FE80:0:0:0:200:1FF:FE00:200 1024 dst 3555:5555:6666:6666:7777:7777:8888:8888 1024 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/UDP(sport=1024,dport=1024)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv6 tcp > - self.dut.send_expect("flow_director_filter %s add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s 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 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 vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-tcp src FE80:0:0:0:200:1FF:FE00:200 32 dst 3555:5555:6666:6666:7777:7777:8888:8888 32 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=32,dport=32)/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > # ipv6 frag > - self.dut.send_expect("flow_director_filter %s add flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(False, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > - self.dut.send_expect("flow_director_filter %s del flow ipv6-other src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > - self.dut.send_expect("flow_director_filter %s del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > + self.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 queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 3, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP del flow ipv6-frag src FE80:0:0:0:200:1FF:FE00:200 dst 3555:5555:6666:6666:7777:7777:8888:8888 vlan 0 flexbytes (%s) drop queue %d fd_id %d " % (self.dut_ports[0], self.flexbytes, 2, 1), "testpmd>") > self.send_and_verify(True, 'sendp([Ether(src=get_if_hwaddr("%s"), dst="00:1B:21:8E:B2:30")/IPv6(src="FE80:0:0:0:200:1FF:FE00:200", dst="3555:5555:6666:6666:7777:7777:8888:8888", nh=44)/IPv6ExtHdrFragment()/Raw(load="%s")], iface="%s")' % (self.dut_rx_interface, self.payload, self.dut_rx_interface)) > > self.dut.send_expect("quit", "# ", 30) > @@ -789,7 +789,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): > self.dut.send_expect("set fwd rxonly", "testpmd>") > > # set up a fdir rule and check guarant_count > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src 192.168.0.1 dst 192.168.0.2 vlan 0 flexbytes () fwd queue %d fd_id %d " % (self.dut_ports[0], 2, 1), "testpmd>") > out = self.dut.send_expect("show port fdir all", "testpmd>") > result_scanner = r"guarant_count: 1" > scanner = re.compile(result_scanner, re.DOTALL) > @@ -827,7 +827,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): > for i in range(num_rules): > src_ip_temp = self.increment_ip_address(src_ip_temp, 1) > dst_ip_temp = self.increment_ip_address(dst_ip_temp, 1) > - self.dut.send_expect("flow_director_filter %s add flow ipv4-other src %s dst %s vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], src_ip_temp, dst_ip_temp, self.flexbytes, i % self.queue, i), "testpmd>") > + self.dut.send_expect("flow_director_filter %s mode IP add flow ipv4-other src %s dst %s vlan 0 flexbytes (%s) fwd queue %d fd_id %d " % (self.dut_ports[0], src_ip_temp, dst_ip_temp, self.flexbytes, i % self.queue, i), "testpmd>") > > def fdir_perf_set_flows(self, num_flows, frame_size): > """