public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [RFC PATCH v7 09/11] network/stress: Further enhancements for route4-rmmod
Date: Fri, 21 Jul 2017 06:04:05 +0200	[thread overview]
Message-ID: <20170721040407.868-10-pvorel@suse.cz> (raw)
In-Reply-To: <20170721040407.868-1-pvorel@suse.cz>

* Remove dependency to ifconfig
* Use TCONF when test would break other interface
* Don't raise TCONF only if the other device is in 'down' mode

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 testcases/network/stress/route/route4-rmmod | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/testcases/network/stress/route/route4-rmmod b/testcases/network/stress/route/route4-rmmod
index 70a6e3745..a089d6712 100644
--- a/testcases/network/stress/route/route4-rmmod
+++ b/testcases/network/stress/route/route4-rmmod
@@ -35,28 +35,29 @@ do_cleanup()
 	restore_ipaddr
 }
 
-
 do_setup()
 {
 	route_setup
+
+	# NOTE: we have to use ethtool as
+	# /sys/class/net/<iface>/device/driver/module doesn't exist
+	# for virtual drivers (e.g. veth)
 	tst_check_cmds ethtool
 
 	tst_add_ipaddr_stress
 
 	# Get the module name of the interface at the local host
 	lhost_module=$(ethtool -i $(tst_iface) | grep driver | sed "s/driver:[[:blank:]]*//")
+	[ -z "$lhost_module" ] && tst_resm TBROK "module for interface '$(tst_iface)' not found"
 
 	# Check the other active interface uses the same driver
-	for ifname in $(ifconfig | grep ^eth | awk '{ print $1}'); do
-		if [ "$(tst_iface)" = "$ifname" ]; then
-			continue
-		fi
+	for ifname in $(basename -a /sys/class/net/*); do
+		[ "$(tst_iface)" = "$ifname" ] && continue
 
 		module=$(ethtool -i $ifname | grep driver | sed "s/driver:[[:blank:]]*//")
-		if [ $lhost_module = $module ]; then
-			tst_resm TBROK "an active interface '$ifname' uses the same network driver '$module' with the test intreface"
-			return
-		fi
+
+		[ "$lhost_module" = "$module" -a "$(cat /sys/class/net/$ifname/operstate)" != "down" ] && \
+			tst_brkm TCONF "an active interface '$ifname' uses the same network driver '$module' with the test interface '$(tst_iface)'"
 	done
 }
 
-- 
2.13.2


  parent reply	other threads:[~2017-07-21  4:04 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-21  4:03 [LTP] [RFC PATCH v7 0/7] Simplify network setup + fix some network stress tests Petr Vorel
2017-07-21  4:03 ` [LTP] [RFC PATCH v7 01/11] network/dhcp: Fix removing veth kernel module Petr Vorel
2017-08-03 11:45   ` Alexey Kodanev
2017-07-21  4:03 ` [LTP] [RFC PATCH v7 02/11] network/stress: Add library test_net_stress.sh Petr Vorel
2017-07-24 15:54   ` Alexey Kodanev
2017-07-25  9:57     ` Petr Vorel
2017-07-25 10:48       ` Alexey Kodanev
2017-07-25 14:52         ` Petr Vorel
2017-07-25 16:01           ` Alexey Kodanev
2017-07-25 16:37             ` Petr Vorel
2017-07-21  4:03 ` [LTP] [RFC PATCH v7 03/11] network/stress: Simplify make_background_tcp_traffic usage Petr Vorel
2017-07-24 15:57   ` Alexey Kodanev
2017-07-25 10:12     ` Petr Vorel
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 04/11] network/stress: Reduce the default number of cycles for various tests Petr Vorel
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 05/11] lib/test_net.sh: tst_rhost_run: Add testcases/bin into PATH for SSH/RSH Petr Vorel
2017-07-25 12:50   ` Alexey Kodanev
2017-07-25 14:28     ` Petr Vorel
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 06/11] network/stress: Fix and cleanup part of multicast IPv4 tests Petr Vorel
2017-07-25 15:21   ` Alexey Kodanev
2017-07-25 16:19     ` Petr Vorel
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 07/11] lib/test_net.sh: Add function reset_ltp_netspace() Petr Vorel
2017-07-26 14:44   ` Alexey Kodanev
2017-07-26 14:55     ` Petr Vorel
2017-07-26 15:00       ` Alexey Kodanev
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 08/11] network/stress: Fix and cleanup route IPv4 tests Petr Vorel
2017-07-26 14:58   ` Alexey Kodanev
2017-07-26 23:29     ` Petr Vorel
2017-07-21  4:04 ` Petr Vorel [this message]
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 10/11] network: Add tools for setup IP related environment variables Petr Vorel
2017-07-26 15:17   ` Alexey Kodanev
2017-07-27  8:35     ` Petr Vorel
2017-07-21  4:04 ` [LTP] [RFC PATCH v7 11/11] network: Use tools to set up IPv4 and IPv6 related variables Petr Vorel
2017-07-26 15:32   ` Alexey Kodanev
2017-07-27  9:03     ` Petr Vorel
2017-07-31 16:53       ` Alexey Kodanev
2017-08-14  9:55         ` Petr Vorel

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=20170721040407.868-10-pvorel@suse.cz \
    --to=pvorel@suse.cz \
    --cc=ltp@lists.linux.it \
    /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