test suite reviews and discussions
 help / color / mirror / Atom feed
From: yufengmx <yufengx.mo@intel.com>
To: dts@dpdk.org, lihongx.ma@intel.com
Cc: yufengmx <yufengx.mo@intel.com>
Subject: [dts] [PATCH V1 1/1] tests/kni: resolve ping command compatibility
Date: Thu, 30 Apr 2020 16:55:47 +0800	[thread overview]
Message-ID: <20200430085547.31123-2-yufengx.mo@intel.com> (raw)
In-Reply-To: <20200430085547.31123-1-yufengx.mo@intel.com>


resolve ping/ping6 command compatibility in low version linux os and high version linux os.

 -I interface can be either an address, or an interface name.

Signed-off-by: yufengmx <yufengx.mo@intel.com>
---
 tests/TestSuite_kni.py | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/tests/TestSuite_kni.py b/tests/TestSuite_kni.py
index 3cbd457..41d8fbe 100644
--- a/tests/TestSuite_kni.py
+++ b/tests/TestSuite_kni.py
@@ -559,6 +559,7 @@ class TestKni(TestCase):
         # Setup IP address on virtual interfaces and tester ports
         self.dut.kill_all()
         self.start_kni()
+        ports_ips = {}
         for port in self.config['ports']:
             virtual_interface = self.virtual_interface_name(port)
 
@@ -567,14 +568,18 @@ class TestKni(TestCase):
             out = self.dut.send_expect(
                 "ifconfig %s up" % virtual_interface, "# ")
             time.sleep(5)
+            v_intf_ip = f"192.168.{port}.1"
+            tx_intf_ip = f"192.168.{port}.2"
             self.dut.send_expect(
-                 "ifconfig %s 192.168.%d.1 netmask 255.255.255.192" % (virtual_interface, port), "# ")
+                 "ifconfig %s %s netmask 255.255.255.192" % (v_intf_ip, port), "# ")
             self.tester.send_expect(
-                 "ifconfig %s 192.168.%d.2 netmask 255.255.255.192" % (tx_interface, port), "# ")
+                 "ifconfig %s %s netmask 255.255.255.192" % (tx_intf_ip, port), "# ")
+            ports_ips[port] = [tx_intf_ip, v_intf_ip]
             self.tester.enable_ipv6(tx_interface)
             time.sleep(5)
         # Send ping requests and check for answers
         for port in self.config['ports']:
+            tx_intf_ip, v_intf_ip = ports_ips[port]
 
             tx_port = self.tester.get_local_port(port)
             tx_interface = self.tester.get_interface(tx_port)
@@ -582,17 +587,17 @@ class TestKni(TestCase):
             virtual_interface = self.virtual_interface_name(port)
 
             out = self.dut.send_expect(
-                "ping -w 2 -I %s 192.168.%d.2" % (virtual_interface, port), "# ", 10)
+                "ping -w 2 -I %s 192.168.%d.2" % (v_intf_ip, port), "# ", 10)
             self.verify("64 bytes from 192.168.%d.2:" %
                         port in out, "ping not supported")
 
             out = self.tester.send_expect(
-                "ping -w 1 -I %s 192.168.%d.1" % (tx_interface, port), "# ", 10)
+                "ping -w 1 -I %s 192.168.%d.1" % (tx_intf_ip, port), "# ", 10)
             self.verify("64 bytes from 192.168.%d.1:" %
                         port in out, "kni cannot reply ping packet")
 
             out = self.dut.send_expect(
-                "ping -w 1 -I %s 192.168.%d.123" % (virtual_interface, port), "# ", 10)
+                "ping -w 1 -I %s 192.168.%d.123" % (v_intf_ip, port), "# ", 10)
             self.verify(
                 "0 received, 100% packet loss" in out, "ping not supported")
 
@@ -601,14 +606,14 @@ class TestKni(TestCase):
             ipv6_address = out.split('\r\n')[0]
 
             out = self.dut.send_expect("ping6 -w 1 -I %s %s" %
-                                       (virtual_interface, str(ipv6_address)), "# ", 10)
+                                       (v_intf_ip, str(ipv6_address)), "# ", 10)
             # FC25 ping6 output info is "64 bytes from ipv6_address%v: icmp_seq=1 ttl=64"
             # other os ping6 output is "64 bytes from ipv6_address: icmp_seq=1 ttl=64"
             self.verify("64 bytes from %s" %
                         ipv6_address in out, "ping6 not supported")
 
             out = self.tester.send_expect(
-                "ping6 -w 1 -I %s %s" % (tx_interface, str(ipv6_address)), "# ", 10)
+                "ping6 -w 1 -I %s %s" % (tx_intf_ip, str(ipv6_address)), "# ", 10)
             self.verify("64 bytes from %s" %
                         ipv6_address in out, "kni cannot reply ping6 packet")
 
@@ -621,7 +626,7 @@ class TestKni(TestCase):
                     break
 
             out = self.dut.send_expect("ping6 -w 1 -I %s %s" %
-                                       (virtual_interface, ''.join(ipv6list)), "# ", 10)
+                                       (v_intf_ip, ''.join(ipv6list)), "# ", 10)
             self.verify(
                 "0 received, 100% packet loss" in out, "ping6 not supported")
             # remove ip from tester
-- 
2.21.0


  reply	other threads:[~2020-04-30  8:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-30  8:55 [dts] [PATCH V1 0/1] " yufengmx
2020-04-30  8:55 ` yufengmx [this message]
2020-05-06  5:47   ` [dts] [PATCH V1 1/1] " Tu, Lijuan
2020-05-06  1:42 ` [dts] [PATCH V1 0/1] " Mo, YufengX
2020-05-11  2:29 yufengmx
2020-05-11  2:29 ` [dts] [PATCH V1 1/1] " yufengmx
2020-05-11  2:34   ` Zhang, XiX
2020-05-12  7:37   ` Tu, Lijuan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200430085547.31123-2-yufengx.mo@intel.com \
    --to=yufengx.mo@intel.com \
    --cc=dts@dpdk.org \
    --cc=lihongx.ma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).