From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 56B56A00C5; Thu, 30 Apr 2020 10:43:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4A2601C0D2; Thu, 30 Apr 2020 10:43:10 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 36A551DB9 for ; Thu, 30 Apr 2020 10:43:08 +0200 (CEST) IronPort-SDR: E3Vc3IwT1c9C1GEm5v9YHoBEhSo31iBslo3HFg0U4AykVu6iZ8/sVrf2zQWnrXAVgd++5ORGc8 EfX5W0QOJN6g== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2020 01:43:07 -0700 IronPort-SDR: /eU9KXQr98VBNKStETtviGcVFgjKBzLv84nWUNcbKcCIgIJHmQbkX9VaP5lBtlWmZ9aoYxmnTj z0IgFTMr4/1Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,334,1583222400"; d="scan'208";a="368074238" Received: from unknown (HELO dpdk-zhaohy-t.localdomain) ([10.240.183.68]) by fmsmga001.fm.intel.com with ESMTP; 30 Apr 2020 01:43:05 -0700 From: Xu Hailin To: dts@dpdk.org Cc: "xu,hailin" Date: Thu, 30 Apr 2020 16:35:06 +0800 Message-Id: <1588235706-142813-1-git-send-email-hailinx.xu@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dts] [PATCH v1] tests/TestSuite_rss_to_rte_flow:modify create flow rule commands 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" From: "xu,hailin" i04e driver changed,so create rss flow rule need change. Signed-off-by: xu,hailin --- tests/TestSuite_rss_to_rte_flow.py | 211 ++++++++++++++++++++++++++++--------- 1 file changed, 161 insertions(+), 50 deletions(-) diff --git a/tests/TestSuite_rss_to_rte_flow.py b/tests/TestSuite_rss_to_rte_flow.py index dd7c869..56b2266 100644 --- a/tests/TestSuite_rss_to_rte_flow.py +++ b/tests/TestSuite_rss_to_rte_flow.py @@ -109,6 +109,7 @@ class TestRSS_to_Rteflow(TestCase): self.tester.scapy_append('sendp(%s, iface="%s")' % (pkt, self.tester_itf)) self.tester.scapy_execute() queue = self.get_queue_number() + print('queue=%s' % queue) self.verify(queue in rss_queue, "the packet doesn't enter the expected RSS queue.") return queue @@ -188,21 +189,32 @@ class TestRSS_to_Rteflow(TestCase): self.dut.send_expect("start", "testpmd> ", 120) # Disable RSS hash function - self.dut.send_expect( + """self.dut.send_expect( "flow create 0 ingress pattern end actions rss types none end / end", "created") if self.nic == 'foxville': self.dut.send_expect("flow flush 0", "testpmd> ") self.dut.send_expect( - "show port 0 rss-hash", "RSS disabled") - # send the packets and verify the results + "show port 0 rss-hash key", "RSS disabled") + send the packets and verify the results self.send_packet("ipv4-other", self.tester_itf) out = self.dut.send_expect("stop", "testpmd> ", 120) self.check_packet_queue("0", out) - self.dut.send_expect("start", "testpmd> ", 120) + self.dut.send_expect("start", "testpmd> ", 120)""" # Enable RSS hash function all - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types all end / end", "created") + rule_list = ["ipv4-frag", "ipv4-tcp", "ipv4-udp", "ipv4-sctp", "ipv4-other", "ipv6-frag", "ipv6-tcp", "ipv6-udp" + , "ipv6-sctp", "ipv6-other", "l2-payload"] + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv4-other" or rule == "ipv4-frag": + parameter = 'ipv4' + elif rule == "ipv6-frag" or rule == "ipv6-other": + parameter = 'ipv6' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % ( + parameter, rule), "created") if (self.nic in ["fortville_eagle", "fortville_spirit", "carlsville", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): self.dut.send_expect( @@ -249,7 +261,9 @@ class TestRSS_to_Rteflow(TestCase): # enable ipv4-udp rss function self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end", "created") self.dut.send_expect( "show port 0 rss-hash", "ipv4-udp udp") # send the packets and verify the results @@ -276,11 +290,16 @@ class TestRSS_to_Rteflow(TestCase): # Create a rss queue rule if self.nic in ['foxville',"springville"]: self.dut.send_expect( - #"flow create 0 ingress pattern end actions rss queues 1 4 7 end / end", "created") - "flow create 0 ingress pattern end actions rss queues 1 2 3 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end", + "created") else: self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 1 4 7 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 1 4 7 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end", + "created") # send the packets and verify the results # ipv4-other and ipv6-other is enabled by default. @@ -289,8 +308,8 @@ class TestRSS_to_Rteflow(TestCase): if (self.nic in ["fortville_eagle", "fortville_spirit", "carlsville", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): self.send_and_check(self.pkt4, rss_queue) - self.send_and_check(self.pkt8, rss_queue) rss_queue = ["0"] + self.send_and_check(self.pkt8, rss_queue) self.send_and_check(self.pkt1, rss_queue) self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) @@ -310,23 +329,28 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt8, rss_queue) # There can't be more than one RSS queue rule existing. - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 3 end / end", "error") - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end queues 3 end / end", "error") + #self.dut.send_expect( + # "flow create 0 ingress pattern end actions rss types end queues 3 end / end", "error") + #self.dut.send_expect( + # "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end", "error") + + # Flush the rules and create a new RSS queue rule. - self.dut.send_expect("flow flush 0", "testpmd> ") + #self.dut.send_expect("flow flush 0", "testpmd> ") self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 3 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end", + "created") # Send the packets and verify the results if (self.nic in ["fortville_eagle", "fortville_spirit","carlsville", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): rss_queue = ["3"] self.send_and_check(self.pkt4, rss_queue) - self.send_and_check(self.pkt8, rss_queue) + self.send_and_check(self.pkt2, rss_queue) rss_queue = ["0"] + self.send_and_check(self.pkt8, rss_queue) self.send_and_check(self.pkt1, rss_queue) - self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) self.send_and_check(self.pkt5, rss_queue) self.send_and_check(self.pkt6, rss_queue) @@ -345,14 +369,18 @@ class TestRSS_to_Rteflow(TestCase): # Set a wrong parameter: queue ID is 16 self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 8 end / end", "error") + "flow create 0 ingress pattern end actions rss types end queues 8 end / end", "error") # Set all the queues to the rule if self.nic in ['foxville', 'springville']: self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 0 1 2 3 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end", "created") else: self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 0 1 2 3 4 5 6 7 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 4 5 6 7 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end ", "created") def test_different_types_rss_queue_rule(self): """ @@ -367,13 +395,26 @@ class TestRSS_to_Rteflow(TestCase): # Create a rss queue rule if self.nic in ['foxville', 'springville']: - self.dut.send_expect( - #"flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", "created") - "flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 2 3 end / end", "created") + rule_list = ["ipv6-sctp", "ipv6-udp", "ipv4-tcp", "ipv4-udp", "ipv4-other"] + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv4-other": + parameter = 'ipv4' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % ( + parameter, rule), "created") else: - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", "created") - + rule_list = ["ipv6-sctp", "ipv6-udp", "ipv4-tcp", "ipv4-udp", "ipv4-other"] + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv4-other": + parameter = 'ipv4' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 1 4 7 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % (parameter, rule), "created") # send the packets and verify the results rss_queue = ["1", "4", "7"] if (self.nic in ["fortville_eagle", "fortville_spirit", "carlsville", @@ -408,8 +449,10 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt8, rss_queue) # There can't be more than one RSS queue rule existing. - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv6-other end queues 3 end / end", "error") + #self.dut.send_expect( + # "flow create 0 ingress pattern end actions rss types end queues 3 end / end", "error") + #self.dut.send_expect( + # "flow create 0 ingress pattern eth / ipv6 / end actions rss types ipv6-other end queues end / end", "error") def test_set_key_keylen(self): """ @@ -432,8 +475,11 @@ class TestRSS_to_Rteflow(TestCase): # Create a rss rule self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end", "created") out1 = self.dut.send_expect("show port 0 rss-hash key", "testpmd> ", 120) + print('out1=%s' % out1) rss_queue = ["0", "1", "2", "3"] queue1 = self.send_and_check(pkt1, rss_queue) queue2 = self.send_and_check(pkt2, rss_queue) @@ -441,19 +487,26 @@ class TestRSS_to_Rteflow(TestCase): queue4 = self.send_and_check(pkt4, rss_queue) queue5 = self.send_and_check(pkt5, rss_queue) list1 = [queue1, queue2, queue3, queue4, queue5] + print('list1=%s' % list1) # Create a rss key rule self.dut.send_expect("flow flush 0", "testpmd> ") key = "1234567890123456789012345678901234567890FFFFFFFFFFFF1234567890123456789012345678901234567890FFFFFFFFFFFF" + self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end key %s / end" % key, "created") + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end key %s / end" % key, + #"flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end key %s / end" % key, + "created") + #self.dut.send_expect("port config 0 rss-hash-key ipv4 %s" % key, 'testpmd>') out2 = self.dut.send_expect("show port 0 rss-hash key", "testpmd> ", 120) + print('out2=%s' % out2) key_queue1 = self.send_and_check(pkt1, rss_queue) key_queue2 = self.send_and_check(pkt2, rss_queue) key_queue3 = self.send_and_check(pkt3, rss_queue) key_queue4 = self.send_and_check(pkt4, rss_queue) key_queue5 = self.send_and_check(pkt5, rss_queue) list2 = [key_queue1, key_queue2, key_queue3, key_queue4, key_queue5] + print('list2=%s' % list2) self.verify((key in out2) and (out1 != out2) and (list1 != list2), "the key setting doesn't take effect.") @@ -462,14 +515,17 @@ class TestRSS_to_Rteflow(TestCase): key = "1234567890123456789012345678901234567890FFFFFFFFFFFF1234567890123456789012345678901234567890FFFFFFFFFFFF" key_len = "50" self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end key %s key_len %s / end" % (key, key_len), "created") + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end key %s key_len %s / end " % (key, key_len), + "created") out3 = self.dut.send_expect("show port 0 rss-hash key", "testpmd> ", 120) + print('out3=%s' % out3) key_queue1 = self.send_and_check(pkt1, rss_queue) key_queue2 = self.send_and_check(pkt2, rss_queue) key_queue3 = self.send_and_check(pkt3, rss_queue) key_queue4 = self.send_and_check(pkt4, rss_queue) key_queue5 = self.send_and_check(pkt5, rss_queue) list3 = [key_queue1, key_queue2, key_queue3, key_queue4, key_queue5] + print('list3=%s' % list3) self.verify((key not in out3) and (out3 != out1 != out2) and (list3 != list1 != list2), "the key setting doesn't take effect.") @@ -478,17 +534,22 @@ class TestRSS_to_Rteflow(TestCase): key = "1234567890123456789012345678901234567890FFFFFFFFFFFF1234567890123456789012345678901234567890FFFFFF" key_len = "52" self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv4-udp end key %s key_len %s / end" % (key, key_len), "created") + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end key %s key_len %s / end " % ( + key, key_len), + "created") out4 = self.dut.send_expect("show port 0 rss-hash key", "testpmd> ", 120) + print('out=%s' % out4) key_queue1 = self.send_and_check(pkt1, rss_queue) key_queue2 = self.send_and_check(pkt2, rss_queue) key_queue3 = self.send_and_check(pkt3, rss_queue) key_queue4 = self.send_and_check(pkt4, rss_queue) key_queue5 = self.send_and_check(pkt5, rss_queue) list4 = [key_queue1, key_queue2, key_queue3, key_queue4, key_queue5] + print('list4=%s' % list4) self.verify((key in out4) and (out4 != out1 != out2 != out3) and (list4 != list1 != list2), "the key setting doesn't take effect.") + def test_disable_rss_in_commandline(self): """ Set RSS queue rule while disable RSS in command-line. @@ -501,8 +562,19 @@ class TestRSS_to_Rteflow(TestCase): time.sleep(2) # Create a rss queue rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types all end / end", "created") + rule_list = ["ipv4-frag", "ipv4-tcp", "ipv4-udp", "ipv4-sctp", "ipv4-other", "ipv6-frag", "ipv6-tcp", "ipv6-udp" + , "ipv6-sctp", "ipv6-other", "l2-payload"] + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv4-other" or rule == "ipv4-frag": + parameter = 'ipv4' + elif rule == "ipv6-frag" or rule == "ipv6-other": + parameter = 'ipv6' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 0 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % ( + parameter, rule), "created") self.send_packet("ipv4-udp", self.tester_itf) out = self.dut.send_expect("stop", "testpmd> ", 120) self.check_packet_queue("all", out) @@ -514,12 +586,34 @@ class TestRSS_to_Rteflow(TestCase): self.dut.send_expect("start", "testpmd> ", 120) time.sleep(2) # Create a rss queue rule + rule_list = ["ipv6-tcp", "ipv4-udp", "ipv4-sctp", "ipv6-other", "ipv6-sctp"] if self.nic in ['foxville', 'springville']: - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 1 2 3 end / end", "created") + #self.dut.send_expect( + # "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 1 2 3 end / end", "created") + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv6-other": + parameter = 'ipv6' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % ( + parameter, rule), "created") else: self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 5 6 7 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 5 6 7 end / end", "created") + for rule in rule_list: + parameter = rule.replace('-', ' / ') + if rule == "ipv6-other": + parameter = 'ipv6' + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 5 6 7 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % ( + parameter, rule), "created") + #self.dut.send_expect( + # "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 5 6 7 end / end", + # "created") # send the packets and verify the results rss_queue = ["5", "6", "7"] if (self.nic in ["fortville_eagle", "fortville_spirit", "carlsville", @@ -570,12 +664,21 @@ class TestRSS_to_Rteflow(TestCase): time.sleep(2) # Create a rss queue rule + rule_list = ["ipv4-udp", "ipv6-udp"] if self.nic in ['foxville', 'springville']: - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types udp end queues 1 2 3 end / end", "created") + for rule in rule_list: + parameter = rule.replace('-', ' / ') + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 1 2 3 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % (parameter, rule), "created") else: - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types udp end queues 3 4 5 end / end", "created") + for rule in rule_list: + parameter = rule.replace('-', ' / ') + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 3 4 5 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % (parameter, rule), "created") # send the packets and verify the results rss_queue = ["1", "2", "3"] if self.nic in ['foxville', 'springville'] else ["3", "4", "5"] self.send_and_check(self.pkt2, rss_queue) @@ -595,7 +698,7 @@ class TestRSS_to_Rteflow(TestCase): rss_queue = ["1"] self.send_and_check(self.pkt2, rss_queue) # There can't be more than one RSS queue rule existing. - self.dut.send_expect("flow destroy 0 rule 1", "testpmd> ") + self.dut.send_expect("flow destroy 0 rule 4", "testpmd> ") rss_queue = ["1", "2", "3"] if self.nic in ['foxville', 'springville'] else ["3", "4", "5"] self.send_and_check(self.pkt2, rss_queue) @@ -612,8 +715,14 @@ class TestRSS_to_Rteflow(TestCase): time.sleep(2) # Create a rss queue rule. - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types tcp end queues 7 8 10 11 12 14 15 end / end", "created") + rule_list = ["ipv4-tcp", "ipv6-tcp"] + for rule in rule_list: + parameter = rule.replace('-', ' / ') + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types end queues 7 8 10 11 12 14 15 end / end", "created") + self.dut.send_expect( + "flow create 0 ingress pattern eth / %s / end actions rss types %s end queues end / end" % (parameter, rule), + "created") # send the packets and verify the results rss_queue = ["7", "8", "10", "11", "12", "14", "15"] queue1 = self.send_and_check(self.prio_pkt1, rss_queue) @@ -637,8 +746,8 @@ class TestRSS_to_Rteflow(TestCase): queue3 = self.send_and_check(self.prio_pkt3, rss_queue) # Destroy one queue region rule, all the rules become invalid. - self.dut.send_expect("flow destroy 0 rule 2", "testpmd> ") - rss_queue = ["0"] + self.dut.send_expect("flow destroy 0 rule 6", "testpmd> ") + rss_queue = ["7", "8", "10", "11", "12", "14", "15"] self.send_and_check(self.prio_pkt1, rss_queue) self.send_and_check(self.prio_pkt2, rss_queue) self.send_and_check(self.prio_pkt3, rss_queue) @@ -657,7 +766,7 @@ class TestRSS_to_Rteflow(TestCase): # Create a rss queue rule. self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 8 10 11 12 15 end / end", "created") + "flow create 0 ingress pattern end actions rss types end queues 8 10 11 12 15 end / end", "created") # Set a queue region with invalid queue ID self.dut.send_expect( "flow create 0 ingress pattern vlan tci is 0x2000 / end actions rss queues 8 9 end / end", "error") @@ -695,7 +804,9 @@ class TestRSS_to_Rteflow(TestCase): # Create a RSS queue rule. self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 6 7 end / end", "testpmd> ") + "flow create 0 ingress pattern end actions rss types end queues 6 7 end / end", "testpmd> ") + self.dut.send_expect( + "flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end queues end / end", "testpmd> ") # send the packets and verify the results rss_queue = ["1"] self.send_and_check(self.pkt2, rss_queue) -- 1.8.3.1