95fcoe: start lldpad separately

lldpad is a system-wide process, which must be started only once.
So we should be separate it from fcoe-up, as it might be called
several times.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Thomas Renninger <trenn@suse.de>
master
Hannes Reinecke 2014-12-11 15:46:24 +01:00 committed by Harald Hoyer
parent 0a68a26cff
commit 22e837b645
3 changed files with 15 additions and 8 deletions

View File

@ -30,10 +30,6 @@ netdriver=$(readlink -f /sys/class/net/$netif/device/driver)
netdriver=${netdriver##*/}

if [ "$dcb" = "dcb" ]; then
# 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
lldpad -d
# wait for lldpad to be ready
i=0
while [ $i -lt 60 ]; do
@ -43,10 +39,6 @@ if [ "$dcb" = "dcb" ]; then
i=$(($i+1))
done

# on some systems lldpad needs some time
# sleep until we find a better solution
sleep 30

while [ $i -lt 60 ]; do
dcbtool sc "$netif" dcb on && break
info "Retrying to turn dcb on"

View File

@ -0,0 +1,14 @@
#!/bin/bash

# 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
lldpad -d
# wait for lldpad to be ready
i=0
while [ $i -lt 60 ]; do
lldptool -p && break
info "Waiting for lldpad to be ready"
sleep 1
i=$(($i+1))
done

View File

@ -78,6 +78,7 @@ install() {
inst "$moddir/fcoe-up.sh" "/sbin/fcoe-up"
inst "$moddir/fcoe-edd.sh" "/sbin/fcoe-edd"
inst "$moddir/fcoe-genrules.sh" "/sbin/fcoe-genrules.sh"
inst_hook pre-trigger 03 "$moddir/lldpad.sh"
inst_hook cmdline 99 "$moddir/parse-fcoe.sh"
dracut_need_initqueue
}