From: Simon Xu <xu.simon@oracle.com>
To: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] ip_tests.sh: don't use hardcoded eth0
Date: Fri, 25 Apr 2014 09:06:01 +0800 [thread overview]
Message-ID: <5359B4F9.6040405@oracle.com> (raw)
In-Reply-To: <1395971064-625-1-git-send-email-xu.simon@oracle.com>
Could anyone help to review this?
Thanks
Simon
On 2014/3/28 9:44, Simon Xu wrote:
> The script uses hardcoded 'eth0' which used to work on most systems.
> This fix tries to find a 'working' network interface using the hostname.
>
> Signed-off-by: Simon Xu <xu.simon@oracle.com>
> ---
> testcases/network/iproute/ip_tests.sh | 50 +++++++++++++++++++----------------
> 1 file changed, 27 insertions(+), 23 deletions(-)
>
> diff --git a/testcases/network/iproute/ip_tests.sh b/testcases/network/iproute/ip_tests.sh
> index ed20540..4bba243 100755
> --- a/testcases/network/iproute/ip_tests.sh
> +++ b/testcases/network/iproute/ip_tests.sh
> @@ -38,7 +38,7 @@ set +x
> # Description: - Check if command ip is available.
> # - Check if command ifconfig is available.
> # - check if command awk is available.
> -# - alias eth0 to eth0:1 with IP 10.1.1.12
> +# - alias $INF to $INF:1 with IP 10.1.1.12
> #
> # Return - zero on success
> # - non zero on failure. return value from commands ($RC)
> @@ -46,7 +46,7 @@ init()
> {
>
> export TST_TOTAL=2 # total numner of tests in this file.
> - export TCID="ip_tests " # this is the init function.
> + export TCID="ip_tests" # this is the init function.
> export TST_COUNT=0 # init identifier,
>
> if [ -z $TMP ]
> @@ -107,22 +107,26 @@ init()
>
> tst_resm TINFO "INIT: Inititalizing tests."
>
> - # Aliasing eth0 to create private network.
> - /sbin/ifconfig eth0:1 10.1.1.12 >$LTPTMP/tst_ip.err 2>&1
> + # Get network interface.
> + IP=$(dig +short $(hostname))
> + INF=$(ifconfig|grep -B1 $IP|head -1|sed 's/:.*//')
> +
> + # Aliasing $INF to create private network.
> + /sbin/ifconfig $INF:1 10.1.1.12 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
> - tst_brk TBROK NULL NULL "INIT: failed aliasing eth0:1 with IP 10.1.1.12"
> + tst_brk TBROK NULL NULL "INIT: failed aliasing $INF:1 with IP 10.1.1.12"
> return $RC
> else
> - /sbin/route add -host 10.1.1.12 dev eth0:1 >$LTPTMP/tst_ip.err 2>&1
> + /sbin/route add -host 10.1.1.12 dev $INF:1 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
> tst_brk TBROK NULL NULL "INIT: failed adding route to 10.1.1.12"
> return $RC
> else
> - tst_resm TINFO "INIT: added alias: `ifconfig eth0:1`"
> + tst_resm TINFO "INIT: added alias: `ifconfig $INF:1`"
> fi
> fi
>
> @@ -148,7 +152,7 @@ init()
> # Function: cleanup
> #
> # Description - remove temporary files and directories.
> -# - remove alias to eth0
> +# - remove alias to $INF
> #
> # Return - zero on success
> # - non zero on failure. return value from commands ($RC)
> @@ -157,11 +161,11 @@ cleanup()
> TCID=dhcpd
> TST_COUNT=0
>
> - /sbin/ifconfig eth0:1 >$LTPTMP/tst_ip.err 2>&1
> + /sbin/ifconfig $INF:1 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -eq 0 ]
> then
> - /sbin/ifconfig eth0:1 down >$LTPTMP/tst_ip.err 2>&1
> + /sbin/ifconfig $INF:1 down >$LTPTMP/tst_ip.err 2>&1
> fi
>
> rm -fr $LTPTMP
> @@ -189,11 +193,11 @@ test01()
> tst_resm TINFO \
> "Test #1: ip link set DEVICE mtu MTU changes the device mtu size"
>
> - tst_resm TINFO "Test #1: changing mtu size of eth0:1 device."
> + tst_resm TINFO "Test #1: changing mtu size of $INF:1 device."
>
> MTUSZ_BAK=`ifconfig eth0:1 | grep -i MTU | sed "s/^.*MTU://" \
> | awk '{print $1}'`
> - ip link set eth0:1 mtu 300 >$LTPTMP/tst_ip.err 2>&1
> + ip link set $INF:1 mtu 300 >$LTPTMP/tst_ip.err 2>&1
> if [ $RC -ne 0 ]
> then
> tst_res TFAIL $LTPTMP/tst_ip.err \
> @@ -204,7 +208,7 @@ test01()
> if [ $MTUSZ -eq 300 ]
> then
> tst_resm TPASS "Test #1: changing mtu size success"
> - ip link set eth0:1 mtu $MTUSZ_BAK \
> + ip link set $INF:1 mtu $MTUSZ_BAK \
> >$LTPTMP/tst_ip.err 2>&1
> else
> tst_resm FAIL NULL \
> @@ -256,7 +260,7 @@ test02()
> return $RC
> else
> tst_resm TPASS \
> - "Test #2: Listed eth0:1 and returned correct attributes"
> + "Test #2: Listed $INF:1 and returned correct attributes"
> fi
> return $RC
> }
> @@ -365,7 +369,7 @@ test04()
> return $RC
> else
> tst_resm TINFO \
> - "Test #4: ip neigh show - shows all neighbour entries in arp tables."
> + "Test #4: ip neigh show - shows all neighbour entries in arp tables."
>
> cat > $LTPTMP/tst_ip.exp <<-EOF
> 127.0.0.1 dev lo lladdr 00:00:00:00:00:00 REACHABLE
> @@ -443,14 +447,14 @@ test05()
>
>
> tst_resm TINFO \
> - "Test #5: create an interface with inet 10.6.6.6 alias to eth0"
> + "Test #5: create an interface with inet 10.6.6.6 alias to $INF"
>
> - ifconfig eth0:1 10.6.6.6 netmask 255.255.255.0 >$LTPTMP/tst_ip.err 2>&1
> + ifconfig $INF:1 10.6.6.6 netmask 255.255.255.0 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
> tst_brk TBROK $LTPTMP/tst_ip.err NULL \
> - "Test #5: unable to create interface eth0:1 inet 10.6.6.6. Reason:"
> + "Test #5: unable to create interface $INF:1 inet 10.6.6.6. Reason:"
> return $RC
> fi
>
> @@ -541,16 +545,16 @@ test06()
> tst_resm TINFO \
> "Test #6: ip maddr add - adds a new multicast addr"
>
> - ifconfig eth0:1 10.6.6.6 netmask 255.255.255.0 >$LTPTMP/tst_ip.err 2>&1
> + ifconfig $INF:1 10.6.6.6 netmask 255.255.255.0 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
> tst_brk TBROK $LTPTMP/tst_ip.err NULL \
> - "Test #6: unable to create interface eth0:1 inet 10.6.6.6. Reason:"
> + "Test #6: unable to create interface $INF:1 inet 10.6.6.6. Reason:"
> return $RC
> fi
>
> - ip maddr add 66:66:00:00:00:66 dev eth0:1 >$LTPTMP/tst_ip.err 2>&1
> + ip maddr add 66:66:00:00:00:66 dev $INF:1 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
> @@ -579,7 +583,7 @@ test06()
> if [ $RC -ne 0 ]
> then
> tst_res FAIL $LTPTMP/tst_ip.err \
> - "Test #6: multicast addr not added to eth0:1. Details:"
> + "Test #6: multicast addr not added to $INF:1. Details:"
> return $RC
> fi
> fi
> @@ -587,7 +591,7 @@ test06()
> tst_resm TINFO \
> "Test #6: ip maddr del - deletes multicast addr."
>
> - ip maddr del 66:66:00:00:00:66 dev eth0:1 >$LTPTMP/tst_ip.err 2>&1
> + ip maddr del 66:66:00:00:00:66 dev $INF:1 >$LTPTMP/tst_ip.err 2>&1
> RC=$?
> if [ $RC -ne 0 ]
> then
------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2014-04-25 1:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 1:44 [LTP] [PATCH] ip_tests.sh: don't use hardcoded eth0 Simon Xu
2014-03-28 5:08 ` Mike Frysinger
2014-04-09 6:09 ` Simon Xu
2014-04-25 12:04 ` Stanislav Kholmanskikh
2014-04-09 6:10 ` Simon Xu
2014-04-25 1:06 ` Simon Xu [this message]
2014-04-25 12:26 ` Stanislav Kholmanskikh
-- strict thread matches above, loose matches on Subject: below --
2014-04-25 13:59 Joseph Beckenbach
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=5359B4F9.6040405@oracle.com \
--to=xu.simon@oracle.com \
--cc=ltp-list@lists.sourceforge.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.