]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
runqemu-ifup: configurable tap names
authorAdrian Freihofer <adrian.freihofer@gmail.com>
Thu, 22 Jun 2023 17:01:22 +0000 (19:01 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 24 Jun 2023 11:19:52 +0000 (12:19 +0100)
Feature: Hard-coding the interface names to tap* is not always a good
idea. Introduce an environment variable which allows to change this:
OE_TAP_NAME.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu-ifup

index 267145180203e739df7429d1c8d8b8ffdc160644..9820dc535c9e4bdc9dee41cdc7b207b4cdf40fca 100755 (executable)
@@ -40,12 +40,16 @@ else
 fi
 
 
+if [ -z "$OE_TAP_NAME" ]; then
+       OE_TAP_NAME=tap
+fi
+
 if taps=$(ip tuntap list 2>/dev/null); then
-       tap_no=$(( $(echo "$taps" |cut -f 1 -d ":" | sed 's/tap//g' | sort -rn | head -n 1) + 1 ))
-       ip tuntap add tap$tap_no mode tap group "$GROUP" && TAP=tap$tap_no
+       tap_no=$(( $(echo "$taps" |cut -f 1 -d ":" | sed "s/$OE_TAP_NAME//g" | sort -rn | head -n 1) + 1 ))
+       ip tuntap add "$OE_TAP_NAME$tap_no" mode tap group "$GROUP" && TAP="$OE_TAP_NAME$tap_no"
 fi
 
-if [ -z $TAP ]; then
+if [ -z "$TAP" ]; then
        echo "Error: Unable to find a tap device to use"
        exit 1
 fi
@@ -69,7 +73,7 @@ if [ ! -x "$IPTABLES" ]; then
        exit 1
 fi
 
-n=$[ (`echo $TAP | sed 's/tap//'` * 2) + 1 ]
+n=$[ (`echo $TAP | sed "s/$OE_TAP_NAME//"` * 2) + 1 ]
 $IPTOOL addr add 192.168.7.$n/32 broadcast 192.168.7.255 dev $TAP
 STATUS=$?
 if [ $STATUS -ne 0 ]; then
@@ -83,7 +87,7 @@ if [ $STATUS -ne 0 ]; then
     exit 1
 fi
 
-dest=$[ (`echo $TAP | sed 's/tap//'` * 2) + 2 ]
+dest=$[ (`echo $TAP | sed "s/$OE_TAP_NAME//"` * 2) + 2 ]
 $IPTOOL route add to 192.168.7.$dest dev $TAP
 STATUS=$?
 if [ $STATUS -ne 0 ]; then