[dts] [PATCH V1 1/1] dts/pktgen: fix rfc2544 rate percent bug

Ma, LihongX lihongx.ma at intel.com
Thu Sep 26 09:25:14 CEST 2019


Tested-by: lihong<lihongx.ma at intel.com>

-----Original Message-----
From: Mo, YufengX 
Sent: Thursday, September 26, 2019 3:23 PM
To: dts at dpdk.org; Wang, Yinan <yinan.wang at intel.com>; Ma, LihongX <lihongx.ma at intel.com>
Cc: Chen, Zhaoyan <zhaoyan.chen at intel.com>; Mo, YufengX <yufengx.mo at intel.com>
Subject: [dts][PATCH V1 1/1] dts/pktgen: fix rfc2544 rate percent bug


When do rfc2544, streams rate percent should be set a new rate percent and stream attached on port should be cleared.

Signed-off-by: yufengmx <yufengx.mo at intel.com>
---
 framework/pktgen_base.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/framework/pktgen_base.py b/framework/pktgen_base.py index cd541b0..7855f6f 100644
--- a/framework/pktgen_base.py
+++ b/framework/pktgen_base.py
@@ -145,14 +145,14 @@ class PacketGenerator(object):
         if not self.__streams:
             return
         for stream in self.__streams:
-            stream['rate'] = rate_percent
+            stream['options']['stream_config']['rate'] = rate_percent
 
     def _set_stream_pps(self, pps):
         ''' set all streams' pps '''
         if not self.__streams:
             return
         for stream in self.__streams:
-            stream['pps'] = pps
+            stream['options']['stream_config']['pps'] = pps
 
     def reset_streams(self):
         self.__streams = []
@@ -265,12 +265,15 @@ class PacketGenerator(object):
             tx_num, rx_num = result.values()[0][1:]
             return rate_percent, tx_num, rx_num
         _options = deepcopy(options)
+        if 'rate' in _options:
+            _options.pop('rate')
         while not status and rate_percent > 0:
             rate_percent = rate_percent - rate_step
             if rate_percent <= 0:
                 msg = "rfc2544 run under zero rate"
                 self.logger.warning(msg)
                 break
+            self._clear_streams()
             # set stream rate percent to custom value
             self._set_stream_rate_percent(rate_percent)
             # run loss rate testing
--
2.21.0



More information about the dts mailing list