Tested-by: Xie,WeiX < weix.xie@intel.com> Regards, Xie Wei -----Original Message----- From: Ma, LihongX Sent: Thursday, June 4, 2020 9:26 AM To: dts@dpdk.org; Xie, WeiX Cc: Ma, LihongX Subject: [dts][PATCH V1] framework/pktgen_trex: check the port status before start transmission Signed-off-by: lihong --- framework/pktgen_trex.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/framework/pktgen_trex.py b/framework/pktgen_trex.py index 202c778..8da0c84 100644 --- a/framework/pktgen_trex.py +++ b/framework/pktgen_trex.py @@ -790,6 +790,21 @@ class TrexPacketGenerator(PacketGenerator): rate_percent = "{0}%".format(options.get('rate') or self._traffic_opt.get('rate') or '100') + # check the link status before transmission + self.logger.info('check the trex port link status') + for port in self._traffic_ports: + try_times = 0 + port_attr = self._conn.get_port_attr(port) + while try_times < 5: + self.logger.info(pformat(port_attr)) + if 'link' in port_attr.keys() and port_attr['link'].lower() == 'down': + time.sleep(2) + try_times = try_times + 1 + port_attr = self._conn.get_port_attr(port) + else: + break + if try_times == 5 and port_attr['link'].lower() == 'down': + self.logger.error('the port: %d link status is + down, the transmission can not work right' % port) try: # clear the stats before injecting self._conn.clear_stats() -- 2.7.4