diff options
Diffstat (limited to 'modules.d')
-rw-r--r-- | modules.d/40network/net-lib.sh | 12 | ||||
-rwxr-xr-x | modules.d/40network/parse-ip-opts.sh | 12 |
2 files changed, 14 insertions, 10 deletions
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh index 056fbc92..41610216 100644 --- a/modules.d/40network/net-lib.sh +++ b/modules.d/40network/net-lib.sh @@ -294,7 +294,10 @@ ip_to_var() { fi ;; esac - # anaconda-style argument cluster + + # ip=<ipv4-address> means anaconda-style static config argument cluster: + # ip=<ip> gateway=<gw> netmask=<nm> hostname=<host> mtu=<mtu> + # ksdevice={link|bootif|ibft|<MAC>|<ifname>} if strstr "$autoconf" "*.*.*.*"; then ip="$autoconf" gw=$(getarg gateway=) @@ -303,9 +306,12 @@ ip_to_var() { dev=$(getarg ksdevice=) autoconf="none" mtu=$(getarg mtu=) + + # handle special values for ksdevice case "$dev" in - # ignore fancy values for ksdevice=XXX - link|bootif|BOOTIF|ibft|*:*:*:*:*:*) dev="" ;; + bootif|BOOTIF) dev=$(fix_bootif $(getarg BOOTIF=)) ;; + link) dev="" ;; # FIXME: do something useful with this + ibft) dev="" ;; # ignore - ibft is handled elsewhere esac fi } diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh index f64c9367..bdd71db7 100755 --- a/modules.d/40network/parse-ip-opts.sh +++ b/modules.d/40network/parse-ip-opts.sh @@ -17,13 +17,6 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh command -v ibft_to_cmdline >/dev/null || . /lib/net-lib.sh -# Don't mix BOOTIF=macaddr from pxelinux and ip= lines -getarg ip= >/dev/null && getarg BOOTIF= >/dev/null && \ - die "Mixing BOOTIF and ip= lines is dangerous" - -# No more parsing stuff, BOOTIF says everything -[ -n "$(getarg BOOTIF)" ] && return - if [ -n "$netroot" ] && [ -z "$(getarg ip=)" ] ; then # No ip= argument(s) for netroot provided, defaulting to DHCP return; @@ -118,6 +111,11 @@ for p in $(getargs ip=); do done +# put BOOTIF in IFACES to make sure it comes up +if BOOTIF="$(getarg BOOTIF=)"; then + IFACES="$IFACES $(fix_bootif $BOOTIF)" +fi + # This ensures that BOOTDEV is always first in IFACES if [ -n "$BOOTDEV" ] && [ -n "$IFACES" ] ; then IFACES="${IFACES%$BOOTDEV*} ${IFACES#*$BOOTDEV}" |