Blame 0015-ifcfg-do-not-bind-persistent-interface-names-to-HWAD.patch

Zbigniew Jędrzejewski-Szmek 7f4a44
From fb0e5184a6506185998fd12d151f7d34d07c07b3 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 7f4a44
From: Harald Hoyer <harald@redhat.com>
Zbigniew Jędrzejewski-Szmek 7f4a44
Date: Fri, 4 Apr 2014 12:48:03 +0200
Zbigniew Jędrzejewski-Szmek 7f4a44
Subject: [PATCH] ifcfg: do not bind persistent interface names to HWADDR
Zbigniew Jędrzejewski-Szmek 7f4a44
Zbigniew Jędrzejewski-Szmek 7f4a44
---
Zbigniew Jędrzejewski-Szmek 7f4a44
 modules.d/40network/net-lib.sh   | 27 +++++++++++++++++++++++++++
Zbigniew Jędrzejewski-Szmek 7f4a44
 modules.d/45ifcfg/write-ifcfg.sh |  6 +++++-
Zbigniew Jędrzejewski-Szmek 7f4a44
 2 files changed, 32 insertions(+), 1 deletion(-)
Zbigniew Jędrzejewski-Szmek 7f4a44
Zbigniew Jędrzejewski-Szmek 7f4a44
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
index 7430e4ce18..5d4ae32cbb 100755
Zbigniew Jędrzejewski-Szmek 7f4a44
--- a/modules.d/40network/net-lib.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
+++ b/modules.d/40network/net-lib.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
@@ -516,3 +516,30 @@ find_iface_with_link() {
Zbigniew Jędrzejewski-Szmek 7f4a44
     done
Zbigniew Jędrzejewski-Szmek 7f4a44
     return 1
Zbigniew Jędrzejewski-Szmek 7f4a44
 }
Zbigniew Jędrzejewski-Szmek 7f4a44
+
Zbigniew Jędrzejewski-Szmek 7f4a44
+is_persistent_ethernet_name() {
Zbigniew Jędrzejewski-Szmek 7f4a44
+    [ -f /sys/class/net/$netif/addr_assign_type ] || return 1
Zbigniew Jędrzejewski-Szmek 7f4a44
+    [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1
Zbigniew Jędrzejewski-Szmek 7f4a44
+
Zbigniew Jędrzejewski-Szmek 7f4a44
+    case "$1" in
Zbigniew Jędrzejewski-Szmek 7f4a44
+        # udev persistent interface names
Zbigniew Jędrzejewski-Szmek 7f4a44
+        eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        ens[0-9]|ens[0-9][0-9]|ens[0-9][0-9][0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        enp[0-9]s[0-9]*|enp[0-9][0-9]s[0-9]*|enp[0-9][0-9][0-9]*s[0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        enP*p[0-9]s[0-9]*|enP*p[0-9][0-9]s[0-9]*|enP*p[0-9][0-9][0-9]*s[0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        # biosdevname
Zbigniew Jędrzejewski-Szmek 7f4a44
+        em[0-9]|em[0-9][0-9]|em[0-9][0-9][0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        p[0-9]p[0-9]*|p[0-9][0-9]p[0-9]*|p[0-9][0-9][0-9]*p[0-9]*)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            ;;
Zbigniew Jędrzejewski-Szmek 7f4a44
+        *)
Zbigniew Jędrzejewski-Szmek 7f4a44
+            return 1
Zbigniew Jędrzejewski-Szmek 7f4a44
+    esac
Zbigniew Jędrzejewski-Szmek 7f4a44
+    return 0
Zbigniew Jędrzejewski-Szmek 7f4a44
+}
Zbigniew Jędrzejewski-Szmek 7f4a44
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
index 486c69a3c7..2631fbe2ee 100755
Zbigniew Jędrzejewski-Szmek 7f4a44
--- a/modules.d/45ifcfg/write-ifcfg.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
+++ b/modules.d/45ifcfg/write-ifcfg.sh
Zbigniew Jędrzejewski-Szmek 7f4a44
@@ -164,7 +164,11 @@ for netup in /tmp/net.*.did-setup ; do
Zbigniew Jędrzejewski-Szmek 7f4a44
         {
Zbigniew Jędrzejewski-Szmek 7f4a44
             [ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\""
Zbigniew Jędrzejewski-Szmek 7f4a44
             if ! print_s390 $netif; then
Zbigniew Jędrzejewski-Szmek 7f4a44
-                [ -n "$macaddr" ] || echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
Zbigniew Jędrzejewski-Szmek 7f4a44
+                if [ -z "$macaddr" ] && \
Zbigniew Jędrzejewski-Szmek 7f4a44
+                    ! is_persistent_ethernet_name "$netif" && \
Zbigniew Jędrzejewski-Szmek 7f4a44
+                    [ -f /sys/class/net/$netif/address ]; then
Zbigniew Jędrzejewski-Szmek 7f4a44
+                    echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
Zbigniew Jędrzejewski-Szmek 7f4a44
+                fi
Zbigniew Jędrzejewski-Szmek 7f4a44
             fi
Zbigniew Jędrzejewski-Szmek 7f4a44
             echo "TYPE=Ethernet"
Zbigniew Jędrzejewski-Szmek 7f4a44
             echo "NAME=\"$netif\""
Zbigniew Jędrzejewski-Szmek 7f4a44
-- 
Zbigniew Jędrzejewski-Szmek 7f4a44
1.9.3
Zbigniew Jędrzejewski-Szmek 7f4a44