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