Subject: Re: [ofa-general] Re: [PATCH v4 14/14] QLogic VNIC: sysfs Documentation

From: Patrick McHardy <[email-masked]>
Date: Thu, 12 Jun 2008 17:34:53 +0200

Ramachandra K wrote:
> On Thu, Jun 12, 2008 at 8:48 PM, Patrick McHardy <[email-masked]> wrote:
>> Amar Mudrankit wrote:
>>>>> +/sys/class/infiniband_qlgc_vnic/interfaces/<VNIC-interface-name>/
>>>>> +
>>>>> +       vnic_state      (0444)  State of the VNIC interface.
>>>> This I don't understand - you seem to be registering and
>>>> unregistering the net_device based some state machine,
>>>> in some cases even triggered by timers.
>>>>
>>>> Whats the idea behind this?
>>> For a given VNIC interface, unless the VNIC host driver establishes a
>>> connection with EVIC
>>> and completes the control and data path communication sequence with
>>> the EVIC, the
>>> VNIC network device is not registered on the host.  Establishing a
>>> connection with EVIC
>>> and going through the control and data path communication involves
>>> multiple packet
>>> exchange on the IB side with the EVIC and can take some time.  The
>>> netpath statemachine is, hence, meant to PERIODICALLY check if
>>> connection is fully established with EVIC or not.
>>> Once connection is established, it takes care to register the VNIC
>>> netdevice.
>>
>> We have linkstate/operstate for this. How is a user supposed
>> to configure the network device when it appears at a more or
>> less random time from his perspective?
>>
> If you are referring to IP address configuration etc, users can configure
> the interfaces by setting up ifcfg files and the interfaces are automatically
> configured when they are registered.

Maybe they can. It gets more complicated when daemons want to
bind to that device etc.

But that still leaves the main question, why is it not using
the standard way and simply keeps the carrier turned off until
the link is ready?