2014-07-05 21:13:32 +00:00
|
|
|
From a345cf3c3d7c15cfca5735c531f825062235c135 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
|
|
Date: Wed, 2 Jul 2014 11:20:22 +0200
|
|
|
|
Subject: Implement shortcut 'ip=<ifname>:static' for static configuration
|
|
|
|
|
|
|
|
To simplify static configurate we should be pulling in the
|
|
|
|
existing 'ifcfg' files when running in hostonly mode.
|
|
|
|
With that we can implement the shortcut 'ip=<ifname>:static'
|
|
|
|
to use the existing configuration from the ifcfg file.
|
|
|
|
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
|
|
---
|
|
|
|
modules.d/40network/ifup.sh | 14 +++++++++++++-
|
|
|
|
modules.d/40network/module-setup.sh | 4 ++++
|
|
|
|
modules.d/40network/parse-ip-opts.sh | 8 +++++++-
|
|
|
|
3 files changed, 24 insertions(+), 2 deletions(-)
|
|
|
|
|
2015-06-30 12:59:59 +00:00
|
|
|
Index: dracut-042/modules.d/40network/ifup.sh
|
2015-03-31 14:12:12 +00:00
|
|
|
===================================================================
|
2015-06-30 12:59:59 +00:00
|
|
|
--- dracut-042.orig/modules.d/40network/ifup.sh 2015-06-24 18:02:12.961576972 +0200
|
|
|
|
+++ dracut-042/modules.d/40network/ifup.sh 2015-06-24 18:02:13.849627528 +0200
|
|
|
|
@@ -399,6 +399,18 @@ for p in $(getargs ip=); do
|
2014-07-05 21:13:32 +00:00
|
|
|
[ "$use_bridge" != 'true' ] && \
|
|
|
|
[ "$use_vlan" != 'true' ] && continue
|
|
|
|
|
|
|
|
+ if [ "$autoconf" = "static" ] &&
|
|
|
|
+ [ -e /etc/sysconfig/network/ifcfg-${netif} ] ; then
|
|
|
|
+ # Pull in existing static configuration
|
|
|
|
+ . /etc/sysconfig/network/ifcfg-${netif}
|
|
|
|
+ ip=${IPADDR}
|
|
|
|
+ mask=${PREFIXLEN}
|
|
|
|
+ mtu=${MTU}
|
|
|
|
+ server=${REMOTE_IPADDR}
|
|
|
|
+ gw=${GATEWAY}
|
|
|
|
+ autoconf=${BOOTPROTO}
|
|
|
|
+ fi
|
|
|
|
+
|
|
|
|
# setup nameserver
|
|
|
|
namesrv="$dns1 $dns2 $(getargs nameserver)"
|
|
|
|
for s in $namesrv; do
|
2015-06-30 12:59:59 +00:00
|
|
|
@@ -412,7 +424,7 @@ for p in $(getargs ip=); do
|
2014-07-05 21:13:32 +00:00
|
|
|
|
2015-03-31 14:12:12 +00:00
|
|
|
for autoopt in $(str_replace "$autoconf" "," " "); do
|
|
|
|
case $autoopt in
|
|
|
|
- dhcp|on|any)
|
|
|
|
+ dhcp4|dhcp|on|any)
|
|
|
|
do_dhcp -4 ;;
|
|
|
|
dhcp6)
|
|
|
|
load_ipv6
|
2015-06-30 12:59:59 +00:00
|
|
|
Index: dracut-042/modules.d/40network/module-setup.sh
|
2015-03-31 14:12:12 +00:00
|
|
|
===================================================================
|
2015-06-30 12:59:59 +00:00
|
|
|
--- dracut-042.orig/modules.d/40network/module-setup.sh 2015-06-24 18:02:05.949177762 +0200
|
|
|
|
+++ dracut-042/modules.d/40network/module-setup.sh 2015-06-24 18:02:13.849627528 +0200
|
|
|
|
@@ -51,6 +51,10 @@ install() {
|
2014-07-05 21:13:32 +00:00
|
|
|
|
|
|
|
_arch=$(uname -m)
|
|
|
|
|
|
|
|
+ [[ $hostonly ]] && {
|
|
|
|
+ inst_multiple /etc/sysconfig/network/ifcfg-*
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
|
|
|
|
{"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
|
|
|
|
|
2015-06-30 12:59:59 +00:00
|
|
|
Index: dracut-042/modules.d/40network/parse-ip-opts.sh
|
2015-03-31 14:12:12 +00:00
|
|
|
===================================================================
|
2015-06-30 12:59:59 +00:00
|
|
|
--- dracut-042.orig/modules.d/40network/parse-ip-opts.sh 2015-06-11 17:39:47.000000000 +0200
|
|
|
|
+++ dracut-042/modules.d/40network/parse-ip-opts.sh 2015-06-24 18:02:13.849627528 +0200
|
|
|
|
@@ -67,7 +67,13 @@ for p in $(getargs ip=); do
|
2015-03-31 14:12:12 +00:00
|
|
|
for autoopt in $(str_replace "$autoconf" "," " "); do
|
|
|
|
case $autoopt in
|
|
|
|
error) die "Error parsing option 'ip=$p'";;
|
|
|
|
- bootp|rarp|both) die "Sorry, ip=$autoopt is currenty unsupported";;
|
|
|
|
+ bootp|rarp|both) die "Sorry, ip=$autoopt is currently unsupported";;
|
|
|
|
+ static)
|
|
|
|
+ if [ ! -e /etc/sysconfig/network/ifcfg-${dev} ] ; then
|
|
|
|
+ warn "No ifcfg configuration present for interface $dev, skipping"
|
|
|
|
+ continue
|
|
|
|
+ fi
|
2014-07-05 21:13:32 +00:00
|
|
|
+ ;;
|
2015-03-31 14:12:12 +00:00
|
|
|
none|off)
|
|
|
|
[ -z "$ip" ] && \
|
|
|
|
die "For argument 'ip=$p'\nValue '$autoopt' without static configuration does not make sense"
|