Subject: Re: [RFC PATCH 0/5] Reorganize libfcoe control interfaces

From: "Love, Robert W" <[email-masked]>
Date: Tue, 11 Sep 2012 18:47:33 +0000

On Tue 11 Sep 2012 11:31:08 AM PDT, Bhanu Prakash Gollapudi wrote:
> On 9/11/2012 10:36 AM, Love, Robert W wrote:
>> On Tue 11 Sep 2012 10:06:29 AM PDT, Chris Leech wrote:
>>> On Mon, Sep 10, 2012 at 3:59 PM, Robert Love
>>> <[email-masked]> wrote:
>>
>> <snip>
>>
>>>> 1) Create/alloc the port
>>>>      - Allocate kernel memory and create per-instance sysfs devices
>>>>      - No discovery or login
>>>>
>>
>> # echo eth3.172-fcoe > /sys/bus/fcoe/ctlr_create
>
> I'm assuming the existing functionality of automatically creating the
> vlan interface by fcoemon (using the cfg-ethX) continues to exist and
> the above is not a replacement for fcoeadm -c.
>

Yes, you're right. These examples are only if you were using the 
interfaces from BASH. It's all coded up for fcoemon and there shouldn't 
be any user experience change with the new code. I'll post that code to 
[email-masked] once I get it rebased and quickly tested.

>>
>> results in:
>>
>> /sys/bus/fcoe/devices/ctlr_0/
>>
>>>> 2) Configure the port
>>>>      - Change mode, set ddp_min, etc...
>>>>
>>
>> # echo "Fabric" > /sys/bus/fcoe/devices/ctlr_0/mode
>>
>> no visible change
>>
>>>> 3) Start the port
>>>>      - Begins discovery and/or login (depending on mode)
>>>>
>>
>> # echo 1 > /sys/bus/fcoe/devices/ctlr_0/start
>>
>> Begins discovery and login. Assuming there are FCFs then results in:
>>
>> /sys/bus/fcoe/devices/fcf_0
>
> I'm also assuming that the above three steps can be clubbed by
> fcoeutils, perhaps by adding 'mode' parameter into the cfg-ethX file.
> That way 'service fcoe start' will be no different with the proposed
> model, except that there will be multiple entry points into the driver
> (alloc, config, start) instead of just one (create).
>

Yes, you're right here too. However, the default is 'Fabric' so fcoemon 
won't actually have to change the mode. However, I'd like to see VN2VN 
support added to fcoeadm/fcoemon. It's on the TODO list. Once that's 
implemented fcoemon would need to change the mode depending on the 
user's selection.