public inbox for initramfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
To: Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
Cc: harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 31/42] 95fcoe: Store current configuration in dracut cmdline
Date: Fri, 12 Dec 2014 15:05:55 +0100	[thread overview]
Message-ID: <548AF643.2070401@suse.de> (raw)
In-Reply-To: <20141212030201.GD1678-je1gSBvt1Tcx0jIIkfS+Ph/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>

On 12/12/2014 04:02 AM, Baoquan He wrote:
> On 12/11/14 at 03:46pm, Thomas Renninger wrote:
>> From: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
>>
>> When running with --hostonly-cmdline we should be storing
>> the current configuration in /etc/cmdline.d so that dracut
>> will be configure the system automatically.
>>
>> References: bnc#877288
>>
>> Signed-off-by: Hannes Reinecke <hare-l3A5Bk7waGM@public.gmane.org>
>> Signed-off-by: Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
>> ---
>>  modules.d/95fcoe/module-setup.sh | 52 ++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 52 insertions(+)
>>
>> diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
>> index b67aa04..174745a 100755
>> --- a/modules.d/95fcoe/module-setup.sh
>> +++ b/modules.d/95fcoe/module-setup.sh
>> @@ -2,7 +2,16 @@
>>  
>>  # called by dracut
>>  check() {
>> +    [[ $hostonly ]] || [[ $mount_needs ]] && {
>> +        for c in /sys/bus/fcoe/devices/ctlr_* ; do
>> +            [ -L $c ] || continue
>> +            fcoe_ctlr=$c
>> +        done
>> +        [ -z "$fcoe_ctlr" ] && return 255
>> +    }
>> +
>>      require_binaries dcbtool fipvlan lldpad ip readlink || return 1
>> +
>>      return 0
>>  }
>>  
>> @@ -17,12 +26,55 @@ installkernel() {
>>      instmods fcoe 8021q edd
>>  }
>>  
>> +get_vlan_parent() {
>> +    local link=$1
>> +
>> +    [ -d $link ] || return
>> +    read iflink < $link/iflink
>> +    for if in /sys/class/net/* ; do
>> +	read idx < $if/ifindex
>> +	if [ $idx -eq $iflink ] ; then
>> +	    echo ${if##*/}
>> +	fi
>> +    done
>> +}
>> +
>> +# called by dracut
>> +cmdline() {
>> +
>> +    for c in /sys/bus/fcoe/devices/ctlr_* ; do
>> +        [ -L $c ] || continue
>> +        read enabled < $c/enabled
>> +        [ $enabled -eq 0 ] && continue
>> +        d=$(cd -P $c; echo $PWD)
>> +        i=${d%/*}
>> +        read mac < ${i}/address
>> +        s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
>> +        if [ -z "$s" ] ; then
>> +	    p=$(get_vlan_parent ${i})
>> +	    if [ "$p" ] ; then
>> +	        s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
>> +	    fi
>> +        fi
>> +        if [ "$s" = "on" ] ; then
>> +	    dcb="dcb"
>> +        else
>> +	    dcb="nodcb"
>> +        fi
>> +        echo "fcoe=${mac}:${dcb}"
>> +    done
>> +}
> 
> Hi Thomas,
> 
> Why do you need to do this? Usually a module should do the work based on
> its functionality. According to your change, how does a user specify NIC
> or vlan they only want to bring up?
> 
You don't. The current code checking for DCBx capabilities, and sets
a default for that.
The FCoE mac address is basically fixed (derived from the network
MAC address), and the VLAN is given by the DCBx information.
If DCB is not running there's a fair chance you're FCoE connection
won't run reliably, neither.
(Intel claims it FCoE would run without DCB in a Peer-to-Peer
connection, but I've never seen that in real life).

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare-l3A5Bk7waGM@public.gmane.org			      +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 21284 (AG Nürnberg)

  parent reply	other threads:[~2014-12-12 14:05 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-11 14:45 [RESEND] SUSE patches which should show up mainline Thomas Renninger
     [not found] ` <1418309193-11208-1-git-send-email-trenn-l3A5Bk7waGM@public.gmane.org>
2014-12-11 14:45   ` [PATCH 01/42] mkinitrd-suse: Update to sles12 SUSE state Thomas Renninger
2014-12-11 14:45   ` [PATCH 02/42] systemd always tries to load autofs4 Thomas Renninger
2014-12-11 14:45   ` [PATCH 03/42] Fixup mdraid setup Thomas Renninger
2014-12-11 14:45   ` [PATCH 04/42] 95udev-rules: Include correct sg3_utils rules Thomas Renninger
     [not found]     ` <1418309193-11208-5-git-send-email-trenn-l3A5Bk7waGM@public.gmane.org>
2014-12-17 10:00       ` Harald Hoyer
2014-12-11 14:45   ` [PATCH 05/42] 90multipath: install correct multipath rules Thomas Renninger
2014-12-11 14:45   ` [PATCH 06/42] 95iscsi: Autodetect iSCSI firmware Thomas Renninger
2014-12-11 14:45   ` [PATCH 07/42] 95iscsi: Install libgcc_s library Thomas Renninger
2014-12-11 14:45   ` [PATCH 08/42] 95iscsi: Set correct iscsi_started value for iSCSI firmware Thomas Renninger
2014-12-11 14:46   ` [PATCH 09/42] 95iscsi: strip one set of quotes when calling initqueue Thomas Renninger
2014-12-11 14:46   ` [PATCH 10/42] 95iscsi: Fixup bnx2i offload booting Thomas Renninger
2014-12-11 14:46   ` [PATCH 11/42] 95iscsi: More empty cmdline fixes Thomas Renninger
2014-12-11 14:46   ` [PATCH 12/42] 95iscsi: generate commandline for software iscsi Thomas Renninger
2014-12-11 14:46   ` [PATCH 13/42] iscsi: iscsi.initiator and others can and must only show up once Thomas Renninger
2014-12-11 14:46   ` [PATCH 14/42] Implement 'rd.timeout' to modify the device timeout Thomas Renninger
2014-12-11 14:46   ` [PATCH 15/42] Do not call 'lvm' for non-LVM device-mapper devices Thomas Renninger
2014-12-11 14:46   ` [PATCH 16/42] Print stored dracut commandline during initramfs build Thomas Renninger
2014-12-11 14:46   ` [PATCH 17/42] Align dev_unit_name() with systemd's function Thomas Renninger
     [not found]     ` <1418309193-11208-18-git-send-email-trenn-l3A5Bk7waGM@public.gmane.org>
2015-02-24  9:37       ` Alexander Tsoy
2014-12-11 14:46   ` [PATCH 18/42] Generate fallback mount unit for root filesystem Thomas Renninger
2014-12-11 14:46   ` [PATCH 19/42] 99base: warn on invalid command for initqueue Thomas Renninger
2014-12-11 14:46   ` [PATCH 20/42] Handle module alias properly Thomas Renninger
2014-12-11 14:46   ` [PATCH 21/42] 99base: Increase initqueue timeout in non systemd case Thomas Renninger
2014-12-11 14:46   ` [PATCH 22/42] 90lvm: Install dm-snapshot module Thomas Renninger
2014-12-11 14:46   ` [PATCH 23/42] Check for logfile (--logfile option) and create it if necessary Thomas Renninger
2014-12-11 14:46   ` [PATCH 24/42] dracut.sh: Avoid duplicate devices in host_devs Thomas Renninger
2014-12-11 14:46   ` [PATCH 25/42] dracut.sh: Fix UUID= fstab parsing in case --mount option is passed Thomas Renninger
2014-12-11 14:46   ` [PATCH 26/42] dracut.usage.asc: Remove distro specific help from manpage Thomas Renninger
2014-12-11 14:46   ` [PATCH 27/42] nfs: Add ip=... and root=nfs... parameters to internal dracut Thomas Renninger
2014-12-11 14:46   ` [PATCH 28/42] 95iscsi: parse output from iscsiadm correctly Thomas Renninger
2014-12-11 14:46   ` [PATCH 29/42] dracut: Do not stop installing drivers if one fails Thomas Renninger
2014-12-11 14:46   ` [PATCH 30/42] 95fcoe: update fcoe interface check Thomas Renninger
2014-12-11 14:46   ` [PATCH 31/42] 95fcoe: Store current configuration in dracut cmdline Thomas Renninger
     [not found]     ` <1418309193-11208-32-git-send-email-trenn-l3A5Bk7waGM@public.gmane.org>
2014-12-12  3:02       ` Baoquan He
     [not found]         ` <20141212030201.GD1678-je1gSBvt1Tcx0jIIkfS+Ph/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>
2014-12-12 14:05           ` Hannes Reinecke [this message]
2014-12-11 14:46   ` [PATCH 32/42] 95fcoe: skip VLAN devices in fcoe-up Thomas Renninger
2014-12-11 14:46   ` [PATCH 33/42] 95fcoe: start lldpad separately Thomas Renninger
2014-12-11 14:46   ` [PATCH 34/42] Enhance suse.conf and debug module example with SUSE-specific settings Thomas Renninger
2014-12-11 14:46   ` [PATCH 35/42] 40network: add missing _arch variable declaration Thomas Renninger
2014-12-11 14:46   ` [PATCH 36/42] 99base: Add chown binary Thomas Renninger
2014-12-11 14:46   ` [PATCH 37/42] 90kernel-modules: install scsi_dh_alua Thomas Renninger
2014-12-11 14:46   ` [PATCH 38/42] Fix non-export of journal dev boot options Thomas Renninger
2014-12-11 14:46   ` [PATCH 39/42] Also export root= boot param for hostonly-cmdline case Thomas Renninger
2014-12-11 14:46   ` [PATCH 40/42] Don't create lots of empty cmdline files " Thomas Renninger
2014-12-11 14:46   ` [PATCH 41/42] 95rootfs-block: Correctly terminate commandline parameter Thomas Renninger
     [not found]     ` <1418309193-11208-42-git-send-email-trenn-l3A5Bk7waGM@public.gmane.org>
2014-12-17 10:44       ` Harald Hoyer
     [not found]         ` <54915E9C.2050306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-17 10:57           ` Hannes Reinecke
     [not found]             ` <54916198.1060206-l3A5Bk7waGM@public.gmane.org>
2014-12-17 12:21               ` Harald Hoyer
2014-12-11 14:46   ` [PATCH 42/42] dracut: nbd: Only complain of missing binary in hostonly mode if Thomas Renninger
2014-12-17 10:26   ` [RESEND] SUSE patches which should show up mainline Harald Hoyer
     [not found]     ` <54915A3C.9050409-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-17 11:34       ` Thomas Renninger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=548AF643.2070401@suse.de \
    --to=hare-l3a5bk7wagm@public.gmane.org \
    --cc=bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=trenn-l3A5Bk7waGM@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox