Blob Blame History Raw
From 435af39a0054c2e06ae98a5271c03259e15ba7e6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 Jun 2016 16:37:40 +0200
Subject: [PATCH] network/net-lib.sh(parse_ifname_opts): support 21 byte MAC
 addrs

infiniband MAC addrs are 20 bytes long not 6

https://bugzilla.redhat.com/show_bug.cgi?id=1319270
---
 modules.d/40network/net-lib.sh | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index 0c00f925..9f767144 100755
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -523,8 +523,13 @@ parse_ifname_opts() {
             # udev requires MAC addresses to be lower case
             ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/')
             ;;
+        21)
+            # infiniband MAC addrs are 20 bytes long not 6
+            ifname_if=$1
+            ifname_mac=$(echo $2:$3:$4:$5:$6:$7:$8:$9:$10:$11:$12:13:$14:$15$16:$17:$18:$19:$20:$21 | sed 'y/ABCDEF/abcdef/')
+            ;;
         *)
-            die "Invalid arguments for ifname="
+            die "Invalid arguments for ifname=$1"
             ;;
     esac
 
@@ -533,7 +538,7 @@ parse_ifname_opts() {
             warn "ifname=$ifname_if uses the kernel name space for interfaces"
             warn "This can fail for multiple network interfaces and is discouraged!"
             warn "Please use a custom name like \"netboot\" or \"bluesocket\""
-            warn "or use biosdevname and no ifname= at all."
+            warn "or use the persistent interface names from udev or biosdevname and no ifname= at all."
             ;;
     esac