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