File kdump-net-0003-handle-vlan.patch of Package kdump
From: Petr Tesarik <ptesarik@suse.com>
Date: Fri, 19 Aug 2016 19:06:20 +0200
Subject: Handle VLAN interfaces in initrd
References: bsc#980328
Patch-mainline: v0.8.16
Git-commit: 39b8a3b459bc308d86aa161483f17079f8d7f785
When a VLAN interface is found, add appropriate initrd parameters.
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
---
init/setup-kdump.functions | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
--- a/init/setup-kdump.functions
+++ b/init/setup-kdump.functions
@@ -214,6 +214,35 @@ function kdump_bridge_config() #
echo -n " bridge=$iface:${slaves// /,}"
} # }}}
+#
+# Extract the VLAN tag ID from ip link output
+#
+# Input:
+# output of "ip -d link show"
+# Output:
+# VLAN tag (or empty)
+function kdump_link2vlan() # {{{{
+{
+ sed -n '/^ *vlan /s/.* id \([0-9]\+\).*/\1/p'
+} # }}}
+
+#
+# Get VLAN configuration options
+#
+# Parameters:
+# 1) iface device name
+# Output:
+# corresponding vlan= initrd parameter and dependencies
+function kdump_vlan_config() # {{{
+{
+ local iface="$1"
+ local vid=$(ip -d link show "$iface" | kdump_link2vlan)
+ local slaves=$(kdump_list_slaves "$iface")
+ local if="${slaves# }"
+ kdump_ifname_config "$if"
+ echo -n " vlan=$if.$vid:$if"
+} # }}}
+
# Get the ifname parameter for a given device
#
# Parameters:
@@ -234,6 +263,9 @@ function kdump_ifname_config() #
bridge)
kdump_bridge_config "$iface"
;;
+ vlan)
+ kdump_vlan_config "$iface"
+ ;;
*)
return 1
;;