- version 036 - parse dns information on "ip=" command line arg - preserve ownership of files, if root creates the initramfs - parse ibft nameserver settings - do not run dhcp twice on an interface - try to not reload systemd
73 lines
2.6 KiB
Diff
73 lines
2.6 KiB
Diff
From 1982098e00a545894d7aabba13a99c324e56ed52 Mon Sep 17 00:00:00 2001
|
|
From: Harald Hoyer <harald@redhat.com>
|
|
Date: Thu, 30 Jan 2014 17:12:24 +0100
|
|
Subject: [PATCH] network/ifup.sh: handle $dns1 and $dns2 from "ip=" settings
|
|
|
|
---
|
|
dracut.cmdline.7.asc | 7 +++++++
|
|
modules.d/40network/ifup.sh | 21 ++++++++++++---------
|
|
2 files changed, 19 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
|
|
index 963ba07..985285b 100644
|
|
--- a/dracut.cmdline.7.asc
|
|
+++ b/dracut.cmdline.7.asc
|
|
@@ -472,6 +472,13 @@ cannot be used in conjunction with the **ifname** argument for the
|
|
same <interface>.
|
|
=====================
|
|
|
|
+**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
|
|
+ explicit network configuration. If you want do define a IPv6 address, put it
|
|
+ in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
|
|
+ times. __<peer>__ is optional and is the address of the remote endpoint
|
|
+ for pointopoint interfaces and it may be followed by a slash and a decimal
|
|
+ number, encoding the network prefix length.
|
|
+
|
|
**ifname=**__<interface>__:__<MAC>__::
|
|
Assign network device name <interface> (ie "bootnet") to the NIC with
|
|
MAC <MAC>.
|
|
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
|
|
index 2edcfe6..b33981b 100755
|
|
--- a/modules.d/40network/ifup.sh
|
|
+++ b/modules.d/40network/ifup.sh
|
|
@@ -264,18 +264,15 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
|
|
ip link set "$vlanname" up
|
|
fi
|
|
|
|
-# setup nameserver
|
|
-namesrv=$(getargs nameserver)
|
|
-if [ -n "$namesrv" ] ; then
|
|
- for s in $namesrv; do
|
|
- echo nameserver $s
|
|
- done
|
|
-fi >> /tmp/net.$netif.resolv.conf
|
|
-
|
|
# No ip lines default to dhcp
|
|
ip=$(getarg ip)
|
|
|
|
if [ -z "$ip" ]; then
|
|
+ namesrv=$(getargs nameserver)
|
|
+ for s in $namesrv; do
|
|
+ echo nameserver $s >> /tmp/net.$netif.resolv.conf
|
|
+ done
|
|
+
|
|
if [ "$netroot" = "dhcp6" ]; then
|
|
do_dhcp -6
|
|
else
|
|
@@ -307,8 +304,14 @@ for p in $(getargs ip=); do
|
|
[ "$use_bridge" != 'true' ] && \
|
|
[ "$use_vlan" != 'true' ] && continue
|
|
|
|
+ # setup nameserver
|
|
+ namesrv="$dns1 $dns2 $(getargs nameserver)"
|
|
+ for s in $namesrv; do
|
|
+ echo nameserver $s >> /tmp/net.$netif.resolv.conf
|
|
+ done
|
|
+
|
|
# Store config for later use
|
|
- for i in ip srv gw mask hostname macaddr; do
|
|
+ for i in ip srv gw mask hostname macaddr dns1 dns2; do
|
|
eval '[ "$'$i'" ] && echo '$i'="$'$i'"'
|
|
done > /tmp/net.$netif.override
|
|
|