9abf8c
From 8680b657da61ce533f1c91e79eadd3c46f9e98d0 Mon Sep 17 00:00:00 2001
9abf8c
From: "Eugene S. Sobolev" <sobolev@protei.ru>
9abf8c
Date: Fri, 14 Feb 2020 11:49:06 +0300
9abf8c
Subject: [PATCH] network/net-lib.sh: Configure all iBFT interfaces
9abf8c
9abf8c
Added boolean command line option rd.iscsi.mp
9abf8c
9abf8c
(cherry picked from commit c7ee6b3dbb8dfad61aa337b2ecf7e4eaeddc4b4b)
9abf8c
9abf8c
Resolves: #1851984
9abf8c
---
9abf8c
 dracut.cmdline.7.asc           | 3 +++
9abf8c
 modules.d/40network/net-lib.sh | 6 ++++--
9abf8c
 2 files changed, 7 insertions(+), 2 deletions(-)
9abf8c
9abf8c
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
9abf8c
index 19b5cc87..9003c430 100644
9abf8c
--- a/dracut.cmdline.7.asc
9abf8c
+++ b/dracut.cmdline.7.asc
9abf8c
@@ -764,6 +764,9 @@ iscsistart -b --param node.session.timeo.replacement_timeout=30
9abf8c
 **rd.iscsi.ibft** **rd.iscsi.ibft=1**:
9abf8c
     Turn on iBFT autoconfiguration for the interfaces
9abf8c
 
9abf8c
+**rd.iscsi.mp** **rd.iscsi.mp=1**:
9abf8c
+    Configure all iBFT interfaces, not only used for booting (multipath)
9abf8c
+
9abf8c
 **rd.iscsi.waitnet=0**:
9abf8c
     Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets.
9abf8c
 
9abf8c
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
9abf8c
index fc914b30..f0c1c041 100755
9abf8c
--- a/modules.d/40network/net-lib.sh
9abf8c
+++ b/modules.d/40network/net-lib.sh
9abf8c
@@ -251,8 +251,10 @@ ibft_to_cmdline() {
9abf8c
             [ -e ${iface}/flags ] && flags=$(read a < ${iface}/flags; echo $a)
9abf8c
             # Skip invalid interfaces
9abf8c
             (( $flags & 1 )) || continue
9abf8c
-            # Skip interfaces not used for booting
9abf8c
-            (( $flags & 2 )) || continue
9abf8c
+            # Skip interfaces not used for booting unless using multipath
9abf8c
+            if ! getargbool 0 rd.iscsi.mp ; then
9abf8c
+                (( $flags & 2 )) || continue
9abf8c
+            fi
9abf8c
             [ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
9abf8c
             [ -e ${iface}/origin ] && origin=$(read a < ${iface}/origin; echo $a)
9abf8c
             [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
9abf8c