[dts] [PATCH] TestSuite_pmdrssreta.py:Added hash_index calucation & rss key-size for cavium_a063.
thaq at marvell.com
thaq at marvell.com
Tue Apr 23 11:56:38 CEST 2019
From: Thanseerulhaq <thaq at marvell.com>
Added hash_index calucation for cavium_a063 adaptor which use simple_xor algo.
Added rss key-size for cavium_a063 adaptor as 48.
Signed-off-by: Thanseerulhaq <thaq at marvell.com>
---
tests/TestSuite_pmdrssreta.py | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/tests/TestSuite_pmdrssreta.py b/tests/TestSuite_pmdrssreta.py
index 4a2bfd3..03c54a2 100644
--- a/tests/TestSuite_pmdrssreta.py
+++ b/tests/TestSuite_pmdrssreta.py
@@ -37,6 +37,7 @@ import time
import random
import re
import utils
+import textwrap
testQueues = [2, 9, 16]
reta_entries = []
reta_lines = []
@@ -148,7 +149,16 @@ class TestPmdrssreta(TestCase):
i = 0
for tmp_reta_line in reta_lines:
status = "false"
- if(self.nic in ["hi1822"]):
+ if(self.nic in ["cavium_a063"]):
+ # compute the hash result using simple XOR.
+ hash_index_tmp = 0
+ index_tmp = tmp_reta_line["RSS hash"].strip("0x")
+ index_tmp = textwrap.wrap(index_tmp,2)
+ index_tmp = [hex(int(index,16)) for index in index_tmp]
+ for index in index_tmp:
+ hash_index_tmp = eval(str(hash_index_tmp)+'^'+index)
+ hash_index = int(hash_index_tmp) % 64
+ elif(self.nic in ["hi1822"]):
hash_index = int(tmp_reta_line["RSS hash"], 16) % 256
elif (self.nic in ["niantic", "redrockcanyou", "atwood", "boulderrapid"]):
# compute the hash result of five tuple into the 7 LSBs value.
@@ -223,7 +233,12 @@ class TestPmdrssreta(TestCase):
self.verify("error" not in out, "Configuration of RSS hash failed: Invalid argument")
# configure the reta with specific mappings.
- if(self.nic in ["hi1822"]):
+ if(self.nic in ["cavium_a063"]):
+ for i in range(64):
+ reta_entries.insert(i, random.randint(0, queue - 1))
+ self.dut.send_expect(
+ "port config 0 rss reta (%d,%d)" % (i, reta_entries[i]), "testpmd> ")
+ elif(self.nic in ["hi1822"]):
for i in range(256):
reta_entries.insert(i, random.randint(0, queue - 1))
self.dut.send_expect(
@@ -244,7 +259,7 @@ class TestPmdrssreta(TestCase):
self.dut.send_expect("quit", "# ", 30)
def test_rss_key_size(self):
- nic_rss_key_size = {"fortville_eagle": 52, "fortville_spirit": 52, "fortville_spirit_single": 52, "fortville_25g": 52, "niantic": 40, "e1000": 40, "redrockcanyou": 40, "atwood": 40, "boulderrapid": 40, "fortpark_TLV": 52, "hi1822": 40}
+ nic_rss_key_size = {"fortville_eagle": 52, "fortville_spirit": 52, "fortville_spirit_single": 52, "fortville_25g": 52, "niantic": 40, "e1000": 40, "redrockcanyou": 40, "atwood": 40, "boulderrapid": 40, "fortpark_TLV": 52, "hi1822": 40, "cavium_a063": 48}
self.verify(self.nic in nic_rss_key_size.keys(), "Not supporte rss key on %s" % self.nic)
dutPorts = self.dut.get_ports(self.nic)
--
1.8.3.1
More information about the dts
mailing list