* [dts] [PATCH V1 0/2] add test plan and tests: tx offload multi_segs setting @ 2021-07-29 6:16 Yu Jiang 2021-07-29 6:16 ` [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add " Yu Jiang 2021-07-29 6:16 ` [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs Yu Jiang 0 siblings, 2 replies; 9+ messages in thread From: Yu Jiang @ 2021-07-29 6:16 UTC (permalink / raw) To: dts; +Cc: Yu Jiang add test plan and tests: tx offload multi_segs setting Yu Jiang (2): test_plans/rxtx_offload: add tx offload multi_segs setting tests/rxtx_offload: add test case test_txoffload_port_multi_segs test_plans/rxtx_offload_test_plan.rst | 56 +++++++++++++++++++++++++++++ tests/TestSuite_rxtx_offload.py | 66 +++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) -- 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload multi_segs setting 2021-07-29 6:16 [dts] [PATCH V1 0/2] add test plan and tests: tx offload multi_segs setting Yu Jiang @ 2021-07-29 6:16 ` Yu Jiang 2021-08-02 9:29 ` Lin, Xueqin 2021-07-29 6:16 ` [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs Yu Jiang 1 sibling, 1 reply; 9+ messages in thread From: Yu Jiang @ 2021-07-29 6:16 UTC (permalink / raw) To: dts; +Cc: Yu Jiang add tx offload multi_segs setting Signed-off-by: Yu Jiang <yux.jiang@intel.com> --- test_plans/rxtx_offload_test_plan.rst | 56 +++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/test_plans/rxtx_offload_test_plan.rst b/test_plans/rxtx_offload_test_plan.rst index 246e1e1..962ee9f 100644 --- a/test_plans/rxtx_offload_test_plan.rst +++ b/test_plans/rxtx_offload_test_plan.rst @@ -677,3 +677,59 @@ Test case: FVL Tx offload per-queue setting Note 1: there is no tx_offload per_queue parameter in ixgbe driver, so this case is just only for i40e. + +Test case: Tx offload multi_segs setting +====================================================== + +1. Start testpmd with "--tx-offloads=0x00008000" to enable tx_offload multi_segs :: + + ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000 + testpmd> show port 0 tx_offload configuration + Tx Offloading Configuration of port 0 : + Port : MULTI_SEGS + Queue[ 0] : MULTI_SEGS + +2. Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, Set the split policy for TX packets, then start to send pkgs:: + + testpmd> set fwd txonly + testpmd> set txpkts 64,64 + testpmd> set txsplit rand + testpmd> start + +3. Check TX-packets will not hang and continue to increase:: + Wait 15s or more, check TX-packets will continue to increase and can be more than 300K + + testpmd> show port stats all + testpmd> stop + testpmd> quit + +4. Start testpmd again without "--tx-offloads", check multi-segs is disabled by default:: + + ./testpmd -c 0xf -n 4 -- -i + testpmd> show port 0 tx_offload configuration + No MULTI_SEGS in Tx Offloading Configuration of ports + +5. Enable tx_offload multi_segs :: + testpmd> port stop all + testpmd> port config 0 tx_offload multi_segs on + testpmd> port config 1 tx_offload multi_segs on + testpmd> port start all + testpmd> show port 0 tx_offload configuration + Tx Offloading Configuration of port 0 : + Port : MULTI_SEGS + Queue[ 0] : MULTI_SEGS + +6. Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, Set the split policy for TX packets, then start to send pkgs:: + + testpmd> set fwd txonly + testpmd> set txpkts 64,64 + testpmd> set txsplit rand + testpmd> start + testpmd> show port stats all + +7. Check TX-packets will not hang and continue to increase:: + Wait 15s or more, check TX-packets will continue to increase and can be more than 300K + + testpmd> show port stats all + testpmd> stop + testpmd> quit -- 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload multi_segs setting 2021-07-29 6:16 ` [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add " Yu Jiang @ 2021-08-02 9:29 ` Lin, Xueqin 2021-08-03 6:47 ` Tu, Lijuan 0 siblings, 1 reply; 9+ messages in thread From: Lin, Xueqin @ 2021-08-02 9:29 UTC (permalink / raw) To: Jiang, YuX, dts; +Cc: Jiang, YuX > -----Original Message----- > From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang > Sent: Thursday, July 29, 2021 2:16 PM > To: dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload > multi_segs setting > > add tx offload multi_segs setting > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> Acked-by: Xueqin Lin <Xueqin.lin@intel.com> > --- > test_plans/rxtx_offload_test_plan.rst | 56 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 56 insertions(+) > > diff --git a/test_plans/rxtx_offload_test_plan.rst > b/test_plans/rxtx_offload_test_plan.rst > index 246e1e1..962ee9f 100644 > --- a/test_plans/rxtx_offload_test_plan.rst > +++ b/test_plans/rxtx_offload_test_plan.rst > @@ -677,3 +677,59 @@ Test case: FVL Tx offload per-queue setting > > Note 1: there is no tx_offload per_queue parameter in ixgbe driver, > so this case is just only for i40e. > + > +Test case: Tx offload multi_segs setting > +====================================================== > + > +1. Start testpmd with "--tx-offloads=0x00008000" to enable tx_offload > multi_segs :: > + > + ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000 > + testpmd> show port 0 tx_offload configuration > + Tx Offloading Configuration of port 0 : > + Port : MULTI_SEGS > + Queue[ 0] : MULTI_SEGS > + > +2. Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, > Set the split policy for TX packets, then start to send pkgs:: > + > + testpmd> set fwd txonly > + testpmd> set txpkts 64,64 > + testpmd> set txsplit rand > + testpmd> start > + > +3. Check TX-packets will not hang and continue to increase:: > + Wait 15s or more, check TX-packets will continue to increase and > +can be more than 300K > + > + testpmd> show port stats all > + testpmd> stop > + testpmd> quit > + > +4. Start testpmd again without "--tx-offloads", check multi-segs is disabled by > default:: > + > + ./testpmd -c 0xf -n 4 -- -i > + testpmd> show port 0 tx_offload configuration > + No MULTI_SEGS in Tx Offloading Configuration of ports > + > +5. Enable tx_offload multi_segs :: > + testpmd> port stop all > + testpmd> port config 0 tx_offload multi_segs on > + testpmd> port config 1 tx_offload multi_segs on > + testpmd> port start all > + testpmd> show port 0 tx_offload configuration > + Tx Offloading Configuration of port 0 : > + Port : MULTI_SEGS > + Queue[ 0] : MULTI_SEGS > + > +6. Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, > Set the split policy for TX packets, then start to send pkgs:: > + > + testpmd> set fwd txonly > + testpmd> set txpkts 64,64 > + testpmd> set txsplit rand > + testpmd> start > + testpmd> show port stats all > + > +7. Check TX-packets will not hang and continue to increase:: > + Wait 15s or more, check TX-packets will continue to increase and > +can be more than 300K > + > + testpmd> show port stats all > + testpmd> stop > + testpmd> quit > -- > 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload multi_segs setting 2021-08-02 9:29 ` Lin, Xueqin @ 2021-08-03 6:47 ` Tu, Lijuan 2021-08-03 10:24 ` Lin, Xueqin 0 siblings, 1 reply; 9+ messages in thread From: Tu, Lijuan @ 2021-08-03 6:47 UTC (permalink / raw) To: Lin, Xueqin, Jiang, YuX, dts; +Cc: Jiang, YuX > -----Original Message----- > From: dts <dts-bounces@dpdk.org> On Behalf Of Lin, Xueqin > Sent: 2021年8月2日 17:29 > To: Jiang, YuX <yux.jiang@intel.com>; dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload > multi_segs setting > > > -----Original Message----- > > From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang > > Sent: Thursday, July 29, 2021 2:16 PM > > To: dts@dpdk.org > > Cc: Jiang, YuX <yux.jiang@intel.com> > > Subject: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload > > multi_segs setting > > > > add tx offload multi_segs setting > > > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> > Acked-by: Xueqin Lin <Xueqin.lin@intel.com> > > --- > > test_plans/rxtx_offload_test_plan.rst | 56 > > +++++++++++++++++++++++++++++++++++ > > 1 file changed, 56 insertions(+) > > > > diff --git a/test_plans/rxtx_offload_test_plan.rst > > b/test_plans/rxtx_offload_test_plan.rst > > index 246e1e1..962ee9f 100644 > > --- a/test_plans/rxtx_offload_test_plan.rst > > +++ b/test_plans/rxtx_offload_test_plan.rst > > @@ -677,3 +677,59 @@ Test case: FVL Tx offload per-queue setting > > > > Note 1: there is no tx_offload per_queue parameter in ixgbe driver, > > so this case is just only for i40e. > > + > > +Test case: Tx offload multi_segs setting > > +====================================================== > > + > > +1. Start testpmd with "--tx-offloads=0x00008000" to enable tx_offload > > multi_segs :: > > + > > + ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000 > > + testpmd> show port 0 tx_offload configuration > > + Tx Offloading Configuration of port 0 : > > + Port : MULTI_SEGS > > + Queue[ 0] : MULTI_SEGS > > + > > +2. Set fwd to txonly, Set the length of each segment of the TX-ONLY > > +packets, > > Set the split policy for TX packets, then start to send pkgs:: > > + > > + testpmd> set fwd txonly > > + testpmd> set txpkts 64,64 It requires packet size larger than mbuf size, else it won't use multi_segs. > > + testpmd> set txsplit rand > > + testpmd> start > > + > > +3. Check TX-packets will not hang and continue to increase:: > > + Wait 15s or more, check TX-packets will continue to increase and > > +can be more than 300K > > + > > + testpmd> show port stats all > > + testpmd> stop > > + testpmd> quit > > + > > +4. Start testpmd again without "--tx-offloads", check multi-segs is > > +disabled by > > default:: > > + > > + ./testpmd -c 0xf -n 4 -- -i > > + testpmd> show port 0 tx_offload configuration > > + No MULTI_SEGS in Tx Offloading Configuration of ports > > + > > +5. Enable tx_offload multi_segs :: > > + testpmd> port stop all > > + testpmd> port config 0 tx_offload multi_segs on > > + testpmd> port config 1 tx_offload multi_segs on > > + testpmd> port start all > > + testpmd> show port 0 tx_offload configuration > > + Tx Offloading Configuration of port 0 : > > + Port : MULTI_SEGS > > + Queue[ 0] : MULTI_SEGS > > + > > +6. Set fwd to txonly, Set the length of each segment of the TX-ONLY > > +packets, > > Set the split policy for TX packets, then start to send pkgs:: > > + > > + testpmd> set fwd txonly > > + testpmd> set txpkts 64,64 > > + testpmd> set txsplit rand > > + testpmd> start > > + testpmd> show port stats all > > + > > +7. Check TX-packets will not hang and continue to increase:: > > + Wait 15s or more, check TX-packets will continue to increase and > > +can be more than 300K > > + > > + testpmd> show port stats all > > + testpmd> stop > > + testpmd> quit > > -- > > 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload multi_segs setting 2021-08-03 6:47 ` Tu, Lijuan @ 2021-08-03 10:24 ` Lin, Xueqin 2021-08-03 12:35 ` Tu, Lijuan 0 siblings, 1 reply; 9+ messages in thread From: Lin, Xueqin @ 2021-08-03 10:24 UTC (permalink / raw) To: Tu, Lijuan, Jiang, YuX, dts; +Cc: Jiang, YuX > -----Original Message----- > From: Tu, Lijuan <lijuan.tu@intel.com> > Sent: Tuesday, August 3, 2021 2:47 PM > To: Lin, Xueqin <xueqin.lin@intel.com>; Jiang, YuX <yux.jiang@intel.com>; > dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: RE: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload > multi_segs setting > > > > > -----Original Message----- > > From: dts <dts-bounces@dpdk.org> On Behalf Of Lin, Xueqin > > Sent: 2021年8月2日 17:29 > > To: Jiang, YuX <yux.jiang@intel.com>; dts@dpdk.org > > Cc: Jiang, YuX <yux.jiang@intel.com> > > Subject: Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx > > offload multi_segs setting > > > > > -----Original Message----- > > > From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang > > > Sent: Thursday, July 29, 2021 2:16 PM > > > To: dts@dpdk.org > > > Cc: Jiang, YuX <yux.jiang@intel.com> > > > Subject: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx > > > offload multi_segs setting > > > > > > add tx offload multi_segs setting > > > > > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> > > Acked-by: Xueqin Lin <Xueqin.lin@intel.com> > > > --- > > > test_plans/rxtx_offload_test_plan.rst | 56 > > > +++++++++++++++++++++++++++++++++++ > > > 1 file changed, 56 insertions(+) > > > > > > diff --git a/test_plans/rxtx_offload_test_plan.rst > > > b/test_plans/rxtx_offload_test_plan.rst > > > index 246e1e1..962ee9f 100644 > > > --- a/test_plans/rxtx_offload_test_plan.rst > > > +++ b/test_plans/rxtx_offload_test_plan.rst > > > @@ -677,3 +677,59 @@ Test case: FVL Tx offload per-queue setting > > > > > > Note 1: there is no tx_offload per_queue parameter in ixgbe driver, > > > so this case is just only for i40e. > > > + > > > +Test case: Tx offload multi_segs setting > > > +====================================================== > > > + > > > +1. Start testpmd with "--tx-offloads=0x00008000" to enable > > > +tx_offload > > > multi_segs :: > > > + > > > + ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000 > > > + testpmd> show port 0 tx_offload configuration > > > + Tx Offloading Configuration of port 0 : > > > + Port : MULTI_SEGS > > > + Queue[ 0] : MULTI_SEGS > > > + > > > +2. Set fwd to txonly, Set the length of each segment of the TX-ONLY > > > +packets, > > > Set the split policy for TX packets, then start to send pkgs:: > > > + > > > + testpmd> set fwd txonly > > > + testpmd> set txpkts 64,64 > > It requires packet size larger than mbuf size, else it won't use multi_segs. Vector path doesn't support multi-segment packet transmit, only normal path supports multi-segment packet transmit. Use 'port config 0 tx_offload multi_segs on' to enable multi segment offload first. > > > > + testpmd> set txsplit rand > > > + testpmd> start > > > + > > > +3. Check TX-packets will not hang and continue to increase:: > > > + Wait 15s or more, check TX-packets will continue to increase > > > +and can be more than 300K > > > + > > > + testpmd> show port stats all > > > + testpmd> stop > > > + testpmd> quit > > > + > > > +4. Start testpmd again without "--tx-offloads", check multi-segs is > > > +disabled by > > > default:: > > > + > > > + ./testpmd -c 0xf -n 4 -- -i > > > + testpmd> show port 0 tx_offload configuration > > > + No MULTI_SEGS in Tx Offloading Configuration of ports > > > + > > > +5. Enable tx_offload multi_segs :: > > > + testpmd> port stop all > > > + testpmd> port config 0 tx_offload multi_segs on > > > + testpmd> port config 1 tx_offload multi_segs on > > > + testpmd> port start all > > > + testpmd> show port 0 tx_offload configuration > > > + Tx Offloading Configuration of port 0 : > > > + Port : MULTI_SEGS > > > + Queue[ 0] : MULTI_SEGS > > > + > > > +6. Set fwd to txonly, Set the length of each segment of the TX-ONLY > > > +packets, > > > Set the split policy for TX packets, then start to send pkgs:: > > > + > > > + testpmd> set fwd txonly > > > + testpmd> set txpkts 64,64 > > > + testpmd> set txsplit rand > > > + testpmd> start > > > + testpmd> show port stats all > > > + > > > +7. Check TX-packets will not hang and continue to increase:: > > > + Wait 15s or more, check TX-packets will continue to increase > > > +and can be more than 300K > > > + > > > + testpmd> show port stats all > > > + testpmd> stop > > > + testpmd> quit > > > -- > > > 2.7.4 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload multi_segs setting 2021-08-03 10:24 ` Lin, Xueqin @ 2021-08-03 12:35 ` Tu, Lijuan 0 siblings, 0 replies; 9+ messages in thread From: Tu, Lijuan @ 2021-08-03 12:35 UTC (permalink / raw) To: Lin, Xueqin, Jiang, YuX, dts; +Cc: Jiang, YuX > -----Original Message----- > From: Lin, Xueqin <xueqin.lin@intel.com> > Sent: 2021年8月3日 18:25 > To: Tu, Lijuan <lijuan.tu@intel.com>; Jiang, YuX <yux.jiang@intel.com>; > dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: RE: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx offload > multi_segs setting > > > -----Original Message----- > > From: Tu, Lijuan <lijuan.tu@intel.com> > > Sent: Tuesday, August 3, 2021 2:47 PM > > To: Lin, Xueqin <xueqin.lin@intel.com>; Jiang, YuX > > <yux.jiang@intel.com>; dts@dpdk.org > > Cc: Jiang, YuX <yux.jiang@intel.com> > > Subject: RE: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx > > offload multi_segs setting > > > > > > > > > -----Original Message----- > > > From: dts <dts-bounces@dpdk.org> On Behalf Of Lin, Xueqin > > > Sent: 2021年8月2日 17:29 > > > To: Jiang, YuX <yux.jiang@intel.com>; dts@dpdk.org > > > Cc: Jiang, YuX <yux.jiang@intel.com> > > > Subject: Re: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx > > > offload multi_segs setting > > > > > > > -----Original Message----- > > > > From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang > > > > Sent: Thursday, July 29, 2021 2:16 PM > > > > To: dts@dpdk.org > > > > Cc: Jiang, YuX <yux.jiang@intel.com> > > > > Subject: [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add tx > > > > offload multi_segs setting > > > > > > > > add tx offload multi_segs setting > > > > > > > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> > > > Acked-by: Xueqin Lin <Xueqin.lin@intel.com> > > > > --- > > > > test_plans/rxtx_offload_test_plan.rst | 56 > > > > +++++++++++++++++++++++++++++++++++ > > > > 1 file changed, 56 insertions(+) > > > > > > > > diff --git a/test_plans/rxtx_offload_test_plan.rst > > > > b/test_plans/rxtx_offload_test_plan.rst > > > > index 246e1e1..962ee9f 100644 > > > > --- a/test_plans/rxtx_offload_test_plan.rst > > > > +++ b/test_plans/rxtx_offload_test_plan.rst > > > > @@ -677,3 +677,59 @@ Test case: FVL Tx offload per-queue setting > > > > > > > > Note 1: there is no tx_offload per_queue parameter in ixgbe driver, > > > > so this case is just only for i40e. > > > > + > > > > +Test case: Tx offload multi_segs setting > > > > +====================================================== > > > > + > > > > +1. Start testpmd with "--tx-offloads=0x00008000" to enable > > > > +tx_offload > > > > multi_segs :: > > > > + > > > > + ./testpmd -c 0xf -n 4 -- -i --tx-offloads==0x00008000 > > > > + testpmd> show port 0 tx_offload configuration > > > > + Tx Offloading Configuration of port 0 : > > > > + Port : MULTI_SEGS > > > > + Queue[ 0] : MULTI_SEGS > > > > + > > > > +2. Set fwd to txonly, Set the length of each segment of the > > > > +TX-ONLY packets, > > > > Set the split policy for TX packets, then start to send pkgs:: > > > > + > > > > + testpmd> set fwd txonly > > > > + testpmd> set txpkts 64,64 > > > > It requires packet size larger than mbuf size, else it won't use multi_segs. sorry, I misunderstood `set txpkts` > > Vector path doesn't support multi-segment packet transmit, only normal path > supports multi-segment packet transmit. > Use 'port config 0 tx_offload multi_segs on' to enable multi segment offload > first. Sure, it's not care the vector path. > > > > > > > + testpmd> set txsplit rand `set txpkts 64,64` means the packet has 2 segments, the first one is 64, and the second one is also 64. `set txsplit rand` means random segment number, here it might be 1 or 2, it is random, so here comes the issue. If it is 1, it is only 1 segment, so it doesn't validate the MULT_SEG offload feature. Furthemore it has 50% percentage don't validate it. > > > > + testpmd> start > > > > + > > > > +3. Check TX-packets will not hang and continue to increase:: > > > > + Wait 15s or more, check TX-packets will continue to increase > > > > +and can be more than 300K > > > > + > > > > + testpmd> show port stats all > > > > + testpmd> stop > > > > + testpmd> quit > > > > + > > > > +4. Start testpmd again without "--tx-offloads", check multi-segs > > > > +is disabled by > > > > default:: > > > > + > > > > + ./testpmd -c 0xf -n 4 -- -i > > > > + testpmd> show port 0 tx_offload configuration > > > > + No MULTI_SEGS in Tx Offloading Configuration of ports > > > > + > > > > +5. Enable tx_offload multi_segs :: > > > > + testpmd> port stop all > > > > + testpmd> port config 0 tx_offload multi_segs on > > > > + testpmd> port config 1 tx_offload multi_segs on > > > > + testpmd> port start all > > > > + testpmd> show port 0 tx_offload configuration > > > > + Tx Offloading Configuration of port 0 : > > > > + Port : MULTI_SEGS > > > > + Queue[ 0] : MULTI_SEGS > > > > + > > > > +6. Set fwd to txonly, Set the length of each segment of the > > > > +TX-ONLY packets, > > > > Set the split policy for TX packets, then start to send pkgs:: > > > > + > > > > + testpmd> set fwd txonly > > > > + testpmd> set txpkts 64,64 > > > > + testpmd> set txsplit rand > > > > + testpmd> start > > > > + testpmd> show port stats all > > > > + > > > > +7. Check TX-packets will not hang and continue to increase:: > > > > + Wait 15s or more, check TX-packets will continue to increase > > > > +and can be more than 300K > > > > + > > > > + testpmd> show port stats all > > > > + testpmd> stop > > > > + testpmd> quit > > > > -- > > > > 2.7.4 > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs 2021-07-29 6:16 [dts] [PATCH V1 0/2] add test plan and tests: tx offload multi_segs setting Yu Jiang 2021-07-29 6:16 ` [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add " Yu Jiang @ 2021-07-29 6:16 ` Yu Jiang 2021-07-29 6:20 ` Jiang, YuX 2021-08-02 9:29 ` Lin, Xueqin 1 sibling, 2 replies; 9+ messages in thread From: Yu Jiang @ 2021-07-29 6:16 UTC (permalink / raw) To: dts; +Cc: Yu Jiang add test case test_txoffload_port_multi_segs Signed-off-by: Yu Jiang <yux.jiang@intel.com> --- tests/TestSuite_rxtx_offload.py | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/tests/TestSuite_rxtx_offload.py b/tests/TestSuite_rxtx_offload.py index 0e70526..48fb739 100644 --- a/tests/TestSuite_rxtx_offload.py +++ b/tests/TestSuite_rxtx_offload.py @@ -209,6 +209,26 @@ class TestRxTx_Offload(TestCase): acl_offload = offloads[offload[i]] self.verify(acl_offload in queue_line[i], "Fail to configure offload by queue.") i = i + 1 + + def verify_packets_increasing(self, rxtx="tx", count=2): + # Verify RXTX-packets increasing on each ports, check count < 20 + out1 = self.dut.send_expect("show port stats all", "testpmd> ") + i = 0 + while i < count: + if rxtx == "tx": + pks_l1 = re.findall(r'TX-packets: (\w+)', out1) + time.sleep(15) + out1 = self.dut.send_expect("show port stats all", "testpmd> ") + pks_l2 = re.findall(r'TX-packets: (\w+)', out1) + self.logger.info("Times="+ str(i) + ", count=" + str(count) + ", pks2_cur=" + str(pks_l2) + ", pks1_before=" + str(pks_l1)) + for index in range(len(pks_l2)): + self.verify(int(pks_l2[index]) > int(pks_l1[index]), "TX-packets hang") + if int(pks_l1[index]) < 300000000 or int(pks_l2[index]) < 300000000: + count += 1 + i += 1 + if count > 20: + self.verify(False, "Check count timeout") + break def get_queue_number(self, packet): """ @@ -716,6 +736,52 @@ class TestRxTx_Offload(TestCase): offload = ["mbuf_fast_free"] self.check_port_config("tx", offload) + def test_txoffload_port_multi_segs(self): + """ + Tx offload multi_segs setting. + """ + offload = ["multi_segs"] + # Start testpmd with "--tx-offloads=0x00008000" to enable multi_segs tx_offload + self.pmdout.start_testpmd("%s" % self.cores, "--tx-offloads=0x00008000") + for portid in range(len(self.dut_ports)): + self.check_port_config(rxtx="tx", offload=offload, port_id=portid) + + # Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, Set the split policy for TX packets, then start to send pkgs + self.dut.send_expect("set fwd txonly", "testpmd> ") + self.dut.send_expect("set txpkts 64,64", "testpmd> ") + self.dut.send_expect("set txsplit rand", "testpmd> ") + self.dut.send_expect("start", "testpmd> ") + + # Check TX-packets will not hang and continue to increase + self.verify_packets_increasing(rxtx="tx") + self.dut.send_expect("stop", "testpmd> ") + self.dut.send_expect("quit", "# ") + + # Start testpmd again without "--tx-offloads", check multi-segs is disabled by default + self.pmdout.start_testpmd("%s" % self.cores, " ") + for portid in range(len(self.dut_ports)): + outstring = self.dut.send_expect("show port %d tx_offload configuration" % portid, "testpmd> ") + self.verify("MULTI_SEGS" not in outstring, "multi-segs is not disabled by default") + + self.dut.send_expect("port stop all", "testpmd> ") + for portid in range(len(self.dut_ports)): + cmd = "port config {} tx_offload multi_segs on".format(portid) + self.dut.send_expect(cmd, "testpmd> ") + self.dut.send_expect("port start all", "testpmd> ") + for portid in range(len(self.dut_ports)): + self.check_port_config(rxtx="tx", offload=offload, port_id=portid) + + # Set fwd to txonly, Set the length of each segment of the TX-ONLY packets, Set the split policy for TX packets, then start to send pkgs + self.dut.send_expect("set fwd txonly", "testpmd> ") + self.dut.send_expect("set txpkts 64,64", "testpmd> ") + self.dut.send_expect("set txsplit rand", "testpmd> ") + self.dut.send_expect("start", "testpmd> ") + + # Check TX-packets will not hang and continue to increase + self.verify_packets_increasing(rxtx="tx") + self.dut.send_expect("stop", "testpmd> ") + self.dut.send_expect("quit", "# ") + def tear_down(self): """ Run after each test case. -- 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs 2021-07-29 6:16 ` [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs Yu Jiang @ 2021-07-29 6:20 ` Jiang, YuX 2021-08-02 9:29 ` Lin, Xueqin 1 sibling, 0 replies; 9+ messages in thread From: Jiang, YuX @ 2021-07-29 6:20 UTC (permalink / raw) To: dts; +Cc: Jiang, YuX [-- Attachment #1: Type: text/plain, Size: 421 bytes --] > -----Original Message----- > From: Jiang, YuX <yux.jiang@intel.com> > Sent: Thursday, July 29, 2021 2:16 PM > To: dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: [dts][PATCH V1 2/2] tests/rxtx_offload: add test case > test_txoffload_port_multi_segs > > add test case test_txoffload_port_multi_segs > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> Tested-by: Yu Jiang <yux.jiang@intel.com> [-- Attachment #2: TestRxTx_Offload.log --] [-- Type: application/octet-stream, Size: 2424019 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs 2021-07-29 6:16 ` [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs Yu Jiang 2021-07-29 6:20 ` Jiang, YuX @ 2021-08-02 9:29 ` Lin, Xueqin 1 sibling, 0 replies; 9+ messages in thread From: Lin, Xueqin @ 2021-08-02 9:29 UTC (permalink / raw) To: Jiang, YuX, dts; +Cc: Jiang, YuX > -----Original Message----- > From: dts <dts-bounces@dpdk.org> On Behalf Of Yu Jiang > Sent: Thursday, July 29, 2021 2:16 PM > To: dts@dpdk.org > Cc: Jiang, YuX <yux.jiang@intel.com> > Subject: [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case > test_txoffload_port_multi_segs > > add test case test_txoffload_port_multi_segs > > Signed-off-by: Yu Jiang <yux.jiang@intel.com> Acked-by: Xueqin Lin <Xueqin.lin@intel.com> > --- > tests/TestSuite_rxtx_offload.py | 66 > +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 66 insertions(+) > > diff --git a/tests/TestSuite_rxtx_offload.py b/tests/TestSuite_rxtx_offload.py > index 0e70526..48fb739 100644 > --- a/tests/TestSuite_rxtx_offload.py > +++ b/tests/TestSuite_rxtx_offload.py > @@ -209,6 +209,26 @@ class TestRxTx_Offload(TestCase): > acl_offload = offloads[offload[i]] > self.verify(acl_offload in queue_line[i], "Fail to configure offload by > queue.") > i = i + 1 > + > + def verify_packets_increasing(self, rxtx="tx", count=2): > + # Verify RXTX-packets increasing on each ports, check count < 20 > + out1 = self.dut.send_expect("show port stats all", "testpmd> ") > + i = 0 > + while i < count: > + if rxtx == "tx": > + pks_l1 = re.findall(r'TX-packets: (\w+)', out1) > + time.sleep(15) > + out1 = self.dut.send_expect("show port stats all", "testpmd> ") > + pks_l2 = re.findall(r'TX-packets: (\w+)', out1) > + self.logger.info("Times="+ str(i) + ", count=" + str(count) + ", > pks2_cur=" + str(pks_l2) + ", pks1_before=" + str(pks_l1)) > + for index in range(len(pks_l2)): > + self.verify(int(pks_l2[index]) > int(pks_l1[index]), "TX-packets > hang") > + if int(pks_l1[index]) < 300000000 or int(pks_l2[index]) < 300000000: > + count += 1 > + i += 1 > + if count > 20: > + self.verify(False, "Check count timeout") > + break > > def get_queue_number(self, packet): > """ > @@ -716,6 +736,52 @@ class TestRxTx_Offload(TestCase): > offload = ["mbuf_fast_free"] > self.check_port_config("tx", offload) > > + def test_txoffload_port_multi_segs(self): > + """ > + Tx offload multi_segs setting. > + """ > + offload = ["multi_segs"] > + # Start testpmd with "--tx-offloads=0x00008000" to enable multi_segs > tx_offload > + self.pmdout.start_testpmd("%s" % self.cores, "--tx-offloads=0x00008000") > + for portid in range(len(self.dut_ports)): > + self.check_port_config(rxtx="tx", offload=offload, > + port_id=portid) > + > + # Set fwd to txonly, Set the length of each segment of the TX-ONLY > packets, Set the split policy for TX packets, then start to send pkgs > + self.dut.send_expect("set fwd txonly", "testpmd> ") > + self.dut.send_expect("set txpkts 64,64", "testpmd> ") > + self.dut.send_expect("set txsplit rand", "testpmd> ") > + self.dut.send_expect("start", "testpmd> ") > + > + # Check TX-packets will not hang and continue to increase > + self.verify_packets_increasing(rxtx="tx") > + self.dut.send_expect("stop", "testpmd> ") > + self.dut.send_expect("quit", "# ") > + > + # Start testpmd again without "--tx-offloads", check multi-segs is disabled > by default > + self.pmdout.start_testpmd("%s" % self.cores, " ") > + for portid in range(len(self.dut_ports)): > + outstring = self.dut.send_expect("show port %d tx_offload > configuration" % portid, "testpmd> ") > + self.verify("MULTI_SEGS" not in outstring, "multi-segs is > + not disabled by default") > + > + self.dut.send_expect("port stop all", "testpmd> ") > + for portid in range(len(self.dut_ports)): > + cmd = "port config {} tx_offload multi_segs on".format(portid) > + self.dut.send_expect(cmd, "testpmd> ") > + self.dut.send_expect("port start all", "testpmd> ") > + for portid in range(len(self.dut_ports)): > + self.check_port_config(rxtx="tx", offload=offload, > + port_id=portid) > + > + # Set fwd to txonly, Set the length of each segment of the TX-ONLY > packets, Set the split policy for TX packets, then start to send pkgs > + self.dut.send_expect("set fwd txonly", "testpmd> ") > + self.dut.send_expect("set txpkts 64,64", "testpmd> ") > + self.dut.send_expect("set txsplit rand", "testpmd> ") > + self.dut.send_expect("start", "testpmd> ") > + > + # Check TX-packets will not hang and continue to increase > + self.verify_packets_increasing(rxtx="tx") > + self.dut.send_expect("stop", "testpmd> ") > + self.dut.send_expect("quit", "# ") > + > def tear_down(self): > """ > Run after each test case. > -- > 2.7.4 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-08-03 12:35 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-07-29 6:16 [dts] [PATCH V1 0/2] add test plan and tests: tx offload multi_segs setting Yu Jiang 2021-07-29 6:16 ` [dts] [PATCH V1 1/2] test_plans/rxtx_offload: add " Yu Jiang 2021-08-02 9:29 ` Lin, Xueqin 2021-08-03 6:47 ` Tu, Lijuan 2021-08-03 10:24 ` Lin, Xueqin 2021-08-03 12:35 ` Tu, Lijuan 2021-07-29 6:16 ` [dts] [PATCH V1 2/2] tests/rxtx_offload: add test case test_txoffload_port_multi_segs Yu Jiang 2021-07-29 6:20 ` Jiang, YuX 2021-08-02 9:29 ` Lin, Xueqin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).