From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 6C92B7D3E for ; Thu, 24 Aug 2017 09:33:27 +0200 (CEST) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Aug 2017 00:33:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,420,1498546800"; d="scan'208";a="144002633" Received: from unknown (HELO dpdk-test38.sh.intel.com) ([10.67.111.97]) by fmsmga006.fm.intel.com with ESMTP; 24 Aug 2017 00:33:25 -0700 From: Marvin Liu To: dts@dpdk.org Cc: Marvin Liu Date: Thu, 24 Aug 2017 03:31:07 -0400 Message-Id: <1503559867-29762-1-git-send-email-yong.liu@intel.com> X-Mailer: git-send-email 1.9.3 Subject: [dts] [PATCH v1] framework/packet: wait link status ready before transmission packets X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Aug 2017 07:33:27 -0000 Link status may not be ready when suite calling transmission function. Now check link status first and then transmit packets. Signed-off-by: Marvin Liu diff --git a/framework/packet.py b/framework/packet.py index 924fd5e..e9a1c41 100755 --- a/framework/packet.py +++ b/framework/packet.py @@ -351,7 +351,21 @@ class scapy(object): def send_pkt(self, intf='', count=1): self.print_summary() + if intf != '': + # wait few seconds for link ready + countdown = 600 + while countdown: + link_st = subprocess.check_output("ip link show %s" % intf, + stderr=subprocess.STDOUT, + shell=True) + if "LOWER_UP" in link_st: + break + else: + time.sleep(0.01) + countdown -= 1 + continue + # fix fortville can't receive packets with 00:00:00:00:00:00 if self.pkt.getlayer(0).src == "00:00:00:00:00:00": self.pkt.getlayer(0).src = get_if_hwaddr(intf) -- 1.9.3