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
 		;;
openSUSE Build Service is sponsored by