[V1] tests/ddp_mpls: compatible with iavf and i40evf for vf
Commit Message
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
> -----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>
> -----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
@@ -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):