You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.3 KiB
63 lines
2.3 KiB
From b990775b6f2fc8eb52d283b0745bea4a71ef751a Mon Sep 17 00:00:00 2001 |
|
From: Harald Hoyer <harald@redhat.com> |
|
Date: Fri, 4 Apr 2014 12:48:03 +0200 |
|
Subject: [PATCH] ifcfg: do not bind persistent interface names to HWADDR |
|
|
|
(cherry picked from commit fb0e5184a6506185998fd12d151f7d34d07c07b3) |
|
--- |
|
modules.d/40network/net-lib.sh | 27 +++++++++++++++++++++++++++ |
|
modules.d/45ifcfg/write-ifcfg.sh | 6 +++++- |
|
2 files changed, 32 insertions(+), 1 deletion(-) |
|
|
|
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh |
|
index 7430e4ce..5d4ae32c 100755 |
|
--- a/modules.d/40network/net-lib.sh |
|
+++ b/modules.d/40network/net-lib.sh |
|
@@ -516,3 +516,30 @@ find_iface_with_link() { |
|
done |
|
return 1 |
|
} |
|
+ |
|
+is_persistent_ethernet_name() { |
|
+ [ -f /sys/class/net/$netif/addr_assign_type ] || return 1 |
|
+ [ "$(cat /sys/class/net/$netif/addr_assign_type)" = "0" ] || return 1 |
|
+ |
|
+ case "$1" in |
|
+ # udev persistent interface names |
|
+ eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]*) |
|
+ ;; |
|
+ eno[0-9]|eno[0-9][0-9]|eno[0-9][0-9][0-9]*) |
|
+ ;; |
|
+ ens[0-9]|ens[0-9][0-9]|ens[0-9][0-9][0-9]*) |
|
+ ;; |
|
+ enp[0-9]s[0-9]*|enp[0-9][0-9]s[0-9]*|enp[0-9][0-9][0-9]*s[0-9]*) |
|
+ ;; |
|
+ 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]*) |
|
+ ;; |
|
+ # biosdevname |
|
+ em[0-9]|em[0-9][0-9]|em[0-9][0-9][0-9]*) |
|
+ ;; |
|
+ p[0-9]p[0-9]*|p[0-9][0-9]p[0-9]*|p[0-9][0-9][0-9]*p[0-9]*) |
|
+ ;; |
|
+ *) |
|
+ return 1 |
|
+ esac |
|
+ return 0 |
|
+} |
|
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh |
|
index 486c69a3..2631fbe2 100755 |
|
--- a/modules.d/45ifcfg/write-ifcfg.sh |
|
+++ b/modules.d/45ifcfg/write-ifcfg.sh |
|
@@ -164,7 +164,11 @@ for netup in /tmp/net.*.did-setup ; do |
|
{ |
|
[ -n "$macaddr" ] && echo "MACADDR=\"$macaddr\"" |
|
if ! print_s390 $netif; then |
|
- [ -n "$macaddr" ] || echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" |
|
+ if [ -z "$macaddr" ] && \ |
|
+ ! is_persistent_ethernet_name "$netif" && \ |
|
+ [ -f /sys/class/net/$netif/address ]; then |
|
+ echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\"" |
|
+ fi |
|
fi |
|
echo "TYPE=Ethernet" |
|
echo "NAME=\"$netif\""
|
|
|