]> git.ipfire.org Git - thirdparty/dracut.git/blame - modules.d/35network-legacy/parse-bridge.sh
Disable NetworkManager tests for Fedora 30
[thirdparty/dracut.git] / modules.d / 35network-legacy / parse-bridge.sh
CommitLineData
beb097d9
WT
1#!/bin/sh
2#
3# Format:
2db6d711 4# bridge=<bridgename>:<bridgeslaves>
beb097d9 5#
2db6d711 6# <bridgeslaves> is a comma-separated list of physical (ethernet) interfaces
cc02093d 7# bridge without parameters assumes bridge=br0:eth0
beb097d9
WT
8#
9
beb097d9
WT
10parsebridge() {
11 local v=${1}:
12 set --
13 while [ -n "$v" ]; do
14 set -- "$@" "${v%%:*}"
15 v=${v#*:}
16 done
beb097d9 17 case $# in
2db6d711 18 0) bridgename=br0; bridgeslaves=$iface ;;
cc02093d 19 1) die "bridge= requires two parameters" ;;
2db6d711 20 2) bridgename=$1; bridgeslaves=$(str_replace "$2" "," " ") ;;
cc02093d 21 *) die "bridge= requires two parameters" ;;
beb097d9
WT
22 esac
23}
24
2db6d711 25# Parse bridge for bridgename and bridgeslaves
24a78b26
HH
26for bridge in $(getargs bridge=); do
27 unset bridgename
28 unset bridgeslaves
29 iface=eth0
beb097d9 30 # Read bridge= parameters if they exist
24a78b26 31 if [ "$bridge" != "bridge" ]; then
40e27f1b 32 parsebridge $bridge
beb097d9
WT
33 fi
34 # Simple default bridge
35 if [ -z "$bridgename" ]; then
36 bridgename=br0
2db6d711 37 bridgeslaves=$iface
beb097d9 38 fi
24a78b26
HH
39 echo "bridgename=$bridgename" > /tmp/bridge.${bridgename}.info
40 echo "bridgeslaves=\"$bridgeslaves\"" >> /tmp/bridge.${bridgename}.info
41done