[OE-core] [PATCH] runqemu: Replace use of ifconfig with ip

Trevor Woerner twoerner at gmail.com
Wed May 8 20:15:17 UTC 2013


On Wed, May 8, 2013 at 3:40 PM, Khem Raj <raj.khem at gmail.com> wrote:
> ifconfig and its ilk (net-tools package) is deprecated in favour of iproute2 package
> and is now removed by many distro's e.g. Archlinux. So we replace ifconfig with ip utility
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  scripts/runqemu-gen-tapdevs | 6 +++---
>  scripts/runqemu-ifup        | 6 +++---
>  scripts/runqemu-internal    | 6 +++---
>  3 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/scripts/runqemu-gen-tapdevs b/scripts/runqemu-gen-tapdevs
> index f5be30a..d3b27be 100755
> --- a/scripts/runqemu-gen-tapdevs
> +++ b/scripts/runqemu-gen-tapdevs
> @@ -59,10 +59,10 @@ if [ ! -x "$RUNQEMU_IFUP" ]; then
>         exit 1
>  fi
>
> -IFCONFIG=`which ifconfig 2> /dev/null`
> +IFCONFIG=`which ip 2> /dev/null`
>  if [ -z "$IFCONFIG" ]; then

>         # Is it ever anywhere else?
> -       IFCONFIG=/sbin/ifconfig
> +       IFCONFIG=/sbin/ip

Is the "command" command a Bourne shell builtin? If so, using

    IFCONFIG=$(command -pv ip)

might be better? (same applies to the other, following instances)

>  fi
>  if [ ! -x "$IFCONFIG" ]; then
>         echo "$IFCONFIG cannot be executed"
> @@ -70,7 +70,7 @@ if [ ! -x "$IFCONFIG" ]; then
>  fi
>
>  # Ensure we start with a clean slate
> -for tap in `$IFCONFIG | grep ^tap | awk '{ print \$1 }' | sed s/://`; do
> +for tap in `$IFCONFIG link | grep tap | awk '{ print \$2 }' | sed s/://`; do
>         echo "Note: Destroying pre-existing tap interface $tap..."
>         $TUNCTL -d $tap
>  done
> diff --git a/scripts/runqemu-ifup b/scripts/runqemu-ifup
> index 0926faf..8948153 100755
> --- a/scripts/runqemu-ifup
> +++ b/scripts/runqemu-ifup
> @@ -70,10 +70,10 @@ if [ $STATUS -ne 0 ]; then
>         fi
>  fi
>
> -IFCONFIG=`which ifconfig 2> /dev/null`
> +IFCONFIG=`which ip 2> /dev/null`
>  if [ "x$IFCONFIG" = "x" ]; then
>         # better than nothing...
> -       IFCONFIG=/sbin/ifconfig
> +       IFCONFIG=/sbin/ip
>  fi
>  if [ ! -x "$IFCONFIG" ]; then
>         echo "$IFCONFIG cannot be executed"
> @@ -100,7 +100,7 @@ if [ ! -x "$IPTABLES" ]; then
>  fi
>
>  n=$[ (`echo $TAP | sed 's/tap//'` * 2) + 1 ]
> -$IFCONFIG $TAP 192.168.7.$n netmask 255.255.255.255
> +$IFCONFIG addr add 192.168.7.$n/32 dev $TAP
>
>  dest=$[ (`echo $TAP | sed 's/tap//'` * 2) + 2 ]
>  $ROUTE add -host 192.168.7.$dest $TAP
> diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
> index f11706d..d295013 100755
> --- a/scripts/runqemu-internal
> +++ b/scripts/runqemu-internal
> @@ -139,16 +139,16 @@ if [ ! -d "$LOCKDIR" ]; then
>      chmod 777 $LOCKDIR
>  fi
>
> -IFCONFIG=`which ifconfig 2> /dev/null`
> +IFCONFIG=`which ip 2> /dev/null`
>  if [ -z "$IFCONFIG" ]; then
> -    IFCONFIG=/sbin/ifconfig
> +    IFCONFIG=/sbin/ip
>  fi
>  if [ ! -x "$IFCONFIG" ]; then
>         echo "$IFCONFIG cannot be executed"
>         exit 1
>  fi
>
> -POSSIBLE=`$IFCONFIG -a | grep '^tap' | awk '{print $1}' | sed s/://`
> +POSSIBLE=`$IFCONFIG link | grep 'tap' | awk '{print $2}' | sed s/://`
>  TAP=""
>  LOCKFILE=""
>  for tap in $POSSIBLE; do

It does seem a little silly to continue to use a variable named
IFCONFIG now that you're switching away from "ifconfig" :-)




More information about the Openembedded-core mailing list