From 231c6e831262246af33696132c1be7c009477a96 Mon Sep 17 00:00:00 2001 From: Patrick Talbert Date: Fri, 30 Nov 2018 09:28:09 +0100 Subject: [PATCH] 95fcoe: Add the rd.nofcoe option to disable the FCoE module from the command line Images built with the fcoe module will always run the lldpad service as part of their pre-trigger scripts if the network is active. This prevents network installations in environments where, for security reasons, LLDPDU frames cause a switchport shutdown. Add a new rd.nofcoe option to cause dracut to skip the lldpad.sh script and the entire 95-fcoe module. Signed-off-by: Patrick Talbert (cherry picked from commit 7c6d2ad916bd536dc2f082fd96ef837a5031e497) Resolves: #1885621 --- dracut.cmdline.7.asc | 3 +++ modules.d/95fcoe/lldpad.sh | 5 +++++ modules.d/95fcoe/parse-fcoe.sh | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc index e220defb..bf745575 100644 --- a/dracut.cmdline.7.asc +++ b/dracut.cmdline.7.asc @@ -779,6 +779,9 @@ iscsistart -b --param node.session.timeo.replacement_timeout=30 FCoE ~~~~ +**rd.nofcoe=0**:: + disable FCoE and lldpad + **fcoe=**____:__{dcb|nodcb}__:__{fabric|vn2vn}__:: Try to connect to a FCoE SAN through the NIC specified by __ or __ or EDD settings. The second argument specifies if DCB diff --git a/modules.d/95fcoe/lldpad.sh b/modules.d/95fcoe/lldpad.sh index d06a3bd8..c32feeed 100755 --- a/modules.d/95fcoe/lldpad.sh +++ b/modules.d/95fcoe/lldpad.sh @@ -1,5 +1,10 @@ #!/bin/bash +if ! getargbool 0 rd.nofcoe ; then + info "rd.nofcoe=0: skipping lldpad activation" + exit 0 +fi + # Note lldpad will stay running after switchroot, the system initscripts # are to kill it and start a new lldpad to take over. Data is transfered # between the 2 using a shm segment diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh index 12701cdb..7a6ff755 100755 --- a/modules.d/95fcoe/parse-fcoe.sh +++ b/modules.d/95fcoe/parse-fcoe.sh @@ -13,6 +13,11 @@ # fcoe=eth0:nodcb:vn2vn # fcoe=4a:3f:4c:04:f8:d7:nodcb:fabric +if ! getargbool 0 rd.nofcoe ; then + info "rd.nofcoe=0: skipping fcoe" + exit 0 +fi + [ -z "$fcoe" ] && fcoe=$(getarg fcoe=) # If it's not set we don't continue