summaryrefslogtreecommitdiffstats
path: root/0021-net-lib-ibft_to_cmdline-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to '0021-net-lib-ibft_to_cmdline-fixes.patch')
-rw-r--r--0021-net-lib-ibft_to_cmdline-fixes.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/0021-net-lib-ibft_to_cmdline-fixes.patch b/0021-net-lib-ibft_to_cmdline-fixes.patch
new file mode 100644
index 0000000..5d4c681
--- /dev/null
+++ b/0021-net-lib-ibft_to_cmdline-fixes.patch
@@ -0,0 +1,57 @@
+From f2cbd4cbd639df9b0f3d9320df491bf23c109edb Mon Sep 17 00:00:00 2001
+From: WANG Chao <chaowang@redhat.com>
+Date: Wed, 4 Sep 2013 01:29:58 +0800
+Subject: [PATCH] net-lib: ibft_to_cmdline() fixes
+
+Fix 3 issues in ibft_to_cmdline():
+- unset local variables at the beginning of each loop
+- only write vlan.conf when we write out ip=xxx
+- when vlan id is 0, don't write out vlan.conf. Because 0 means untagged
+ and we don't actually need vlan interface.
+---
+ modules.d/40network/net-lib.sh | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index ca4b393..82c4f72 100644
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -203,11 +203,13 @@ fix_bootif() {
+ }
+
+ ibft_to_cmdline() {
+- local iface="" mac="" dev=""
+- local dhcp="" ip="" gw="" mask="" hostname=""
++ local iface=""
+ modprobe -q iscsi_ibft
+ (
+ for iface in /sys/firmware/ibft/ethernet*; do
++ local mac="" dev=""
++ local dhcp="" ip="" gw="" mask="" hostname=""
++
+ [ -e ${iface}/mac ] || continue
+ mac=$(read a < ${iface}/mac; echo $a)
+ [ -z "$mac" ] && continue
+@@ -216,10 +218,6 @@ ibft_to_cmdline() {
+ [ -e /tmp/net.${dev}.has_ibft_config ] && continue
+
+ [ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
+- if [ -e ${iface}/vlan ]; then
+- vlan=$(read a < ${iface}/vlan; echo $a)
+- echo "vlan=$vlan:$dev"
+- fi
+
+ if [ -n "$dhcp" ]; then
+ echo "ip=$dev:dhcp"
+@@ -244,6 +242,11 @@ ibft_to_cmdline() {
+ ls -l ${iface} | vinfo
+ fi
+
++ if [ -e ${iface}/vlan ]; then
++ vlan=$(read a < ${iface}/vlan; echo $a)
++ [ "$vlan" -ne "0" ] && echo "vlan=$vlan:$dev"
++ fi
++
+ echo $mac > /tmp/net.${dev}.has_ibft_config
+ done
+ ) >> /etc/cmdline.d/40-ibft.conf