[V1] tests/ddp_mpls: compatible with iavf and i40evf for vf

Message ID 20210325171644.25055-1-weix.xie@intel.com (mailing list archive)
State Changes Requested
Headers
Series [V1] tests/ddp_mpls: compatible with iavf and i40evf for vf |

Commit Message

Xie, WeiX March 25, 2021, 5:16 p.m. UTC
  iavf has rss hash rx offload capability by default, but i40evf not have.
So the hash value and rx queue number will be random when receive wrong label MPLS packets.
If want to wrong label packets received by default queue 0, just launch test-pmd with parameter "--disable-rss".

Signed-off-by: xiewei <weix.xie@intel.com>
---
 tests/TestSuite_ddp_mpls.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
  

Comments

Xie, WeiX March 25, 2021, 9:09 a.m. UTC | #1
> -----Original Message-----
> From: Xie, WeiX
> Sent: Friday, March 26, 2021 1:17 AM
> To: dts@dpdk.org
> Cc: Xie, WeiX <weix.xie@intel.com>
> Subject: [PATCH V1] tests/ddp_mpls: compatible with iavf and i40evf for vf

Tested-by: Xie Wei <weix.xie@intel.com>
  
Tu, Lijuan March 30, 2021, 1:53 a.m. UTC | #2
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of xiewei
> Sent: 2021年3月26日 1:17
> To: dts@dpdk.org
> Cc: Xie, WeiX <weix.xie@intel.com>
> Subject: [dts] [PATCH V1] tests/ddp_mpls: compatible with iavf and i40evf for vf
> 
> iavf has rss hash rx offload capability by default, but i40evf not have.
> So the hash value and rx queue number will be random when receive wrong label
> MPLS packets.
> If want to wrong label packets received by default queue 0, just launch test-pmd
> with parameter "--disable-rss".
> 
> Signed-off-by: xiewei <weix.xie@intel.com>
> ---
>  tests/TestSuite_ddp_mpls.py | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/TestSuite_ddp_mpls.py b/tests/TestSuite_ddp_mpls.py index
> 53fd4a76..f0c28386 100644
> --- a/tests/TestSuite_ddp_mpls.py
> +++ b/tests/TestSuite_ddp_mpls.py
> @@ -39,6 +39,7 @@ from test_case import TestCase  from pmd_output import
> PmdOutput  from settings import get_nic_name  import random
> +import re
> 
>  VM_CORES_MASK = 'all'
>  PF_MAX_QUEUE = 64
> @@ -131,7 +132,12 @@ class Testddp_mpls(TestCase):
>          self.vm0_testpmd.start_testpmd(
>              VM_CORES_MASK,"--port-topology=chained --txq=%s --rxq=%s"
>              % (VF_MAX_QUEUE, VF_MAX_QUEUE))
> -
> +
> +        output = self.vm0_testpmd.execute_cmd('show port info 0')
> +        vf_driver = re.findall("Driver\s*name:\s*(\w+)", output)
> +        if vf_driver[0] == "net_iavf":
> +            self.vm0_testpmd.execute_cmd('quit', '# ')
> +            self.vm0_testpmd.start_testpmd(VM_CORES_MASK,
> + "--port-topology=chained --txq=%s --rxq=%s --disable-rss" %
> + (VF_MAX_QUEUE, VF_MAX_QUEUE))

I think re-launch testpmd is a waste of time, prefer to start testpmd with 'disable-rss` directly.

> 
>      def destroy_vm_env(self):
> 
> --
> 2.17.1
  

Patch

diff --git a/tests/TestSuite_ddp_mpls.py b/tests/TestSuite_ddp_mpls.py
index 53fd4a76..f0c28386 100644
--- a/tests/TestSuite_ddp_mpls.py
+++ b/tests/TestSuite_ddp_mpls.py
@@ -39,6 +39,7 @@  from test_case import TestCase
 from pmd_output import PmdOutput
 from settings import get_nic_name
 import random
+import re
 
 VM_CORES_MASK = 'all'
 PF_MAX_QUEUE = 64
@@ -131,7 +132,12 @@  class Testddp_mpls(TestCase):
         self.vm0_testpmd.start_testpmd(
             VM_CORES_MASK,"--port-topology=chained --txq=%s --rxq=%s" 
             % (VF_MAX_QUEUE, VF_MAX_QUEUE))
-        
+
+        output = self.vm0_testpmd.execute_cmd('show port info 0')
+        vf_driver = re.findall("Driver\s*name:\s*(\w+)", output)
+        if vf_driver[0] == "net_iavf":
+            self.vm0_testpmd.execute_cmd('quit', '# ')
+            self.vm0_testpmd.start_testpmd(VM_CORES_MASK, "--port-topology=chained --txq=%s --rxq=%s --disable-rss" % (VF_MAX_QUEUE, VF_MAX_QUEUE))
 
     def destroy_vm_env(self):