poky/scripts/runqemu-ifdown
Adrian Freihofer 95c785baeb runqemu-ifdown: catch up with ifup
- Drop the native-sysroot-basedir parameter
  still allow it to keep backward compatibility
  write a warning to stderr
- Add a space after ! in the if as suggested by shellcheck
- Support the new OE_TAP_NAME variable as well

(From OE-Core rev: be72e5e32da5a251db14b42d3e9c0951178e216d)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-28 07:56:34 +01:00

1.7 KiB
Executable File

#!/bin/bash

QEMU network configuration script to bring down tap devices. This

utility needs to be run as root, and will use the ip utility

If you find yourself calling this script a lot, you can add the

the following to your /etc/sudoers file to be able to run this

command without entering your password each time:

ALL=NOPASSWD: /path/to/runqemu-ifup

ALL=NOPASSWD: /path/to/runqemu-ifdown

Copyright (c) 2006-2011 Linux Foundation

SPDX-License-Identifier: GPL-2.0-only

usage() { echo "sudo $(basename $0) " }

if [ $EUID -ne 0 ]; then echo "Error: This script (runqemu-ifdown) must be run with root privileges" exit 1 fi

if [ $# -gt 2 ] || [ $# -lt 1 ]; then usage exit 1 fi

backward compatibility

if [ $# -eq 2 ] ; then echo "Warning: native-sysroot-basedir parameter is ignored. It is no longer needed." >&2 fi

TAP=$1

if ! ip tuntap del $TAP mode tap 2>/dev/null; then echo "Error: Unable to run up tuntap del" exit 1 fi

IPTOOL=which ip 2> /dev/null if [ "x$IPTOOL" = "x" ]; then # better than nothing... IPTOOL=/sbin/ip fi if [ -x "$IPTOOL" ]; then if $IPTOOL link show $TAP > /dev/null 2>&1; then $IPTOOL link del $TAP fi fi

cleanup the remaining iptables rules

IPTABLES=which iptables 2> /dev/null if [ "x$IPTABLES" = "x" ]; then IPTABLES=/sbin/iptables fi if [ ! -x "$IPTABLES" ]; then echo "$IPTABLES cannot be executed" exit 1 fi

if [ -z "$OE_TAP_NAME" ]; then OE_TAP_NAME=tap fi

n=$[ (echo $TAP | sed "s/$OE_TAP_NAME//" * 2) + 1 ] dest=$[ (echo $TAP | sed "s/$OE_TAP_NAME//" * 2) + 2 ] $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$n/32 $IPTABLES -D POSTROUTING -t nat -j MASQUERADE -s 192.168.7.$dest/32 true