poky/scripts/runqemu-ifdown
Richard Purdie 7b87f203c2 runqemu-if*: Rename confusing variable name
The IFCONFIG variable is really the path to ip and hasn't been
ifconfig for a long time. Rename the variable to something less
confusing.

(From OE-Core rev: eb1c947a056f3e2c80e46e5e606423e85da46caa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-16 15:40:11 +01:00

1.5 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 [ $# -ne 2 ]; then usage exit 1 fi

TAP=$1 STAGING_BINDIR_NATIVE=$2

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 n=$[ (echo $TAP | sed 's/tap//' * 2) + 1 ] dest=$[ (echo $TAP | sed 's/tap//' * 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