On 12/09/2016 03:33 PM, Mike Christie wrote:
> On 12/08/2016 10:55 AM, andrew.patter...@hpe.com wrote:
>> I am trying to get iSCSI boot working on a debian-based system
>> using built-in uEFI iSCSI initiator firmware and broadcom
>> NICs (bnx2x).
>> The debian initramfs uses the ibft support in iscsistart to log
>> into the root volume. The initramfs script uses iscsistart -N to
>> bring up the NICs before logging in with iscsstart -b. This
>> process works fine when using non-offload NICs, but fails when
>> using NICs using the bnx2, bnx2x, cxgb3, and cxgb4 drivers due to
>> the following code in
>> utils/fwparam_ibft/fw_entry.c:fw_setup_nics():
>>         list_for_each_entry(context, &targets, list) {           
>>             /* if it is a offload nic ignore it */
>>             if (!net_get_transport_name_from_netdev(context->iface,
>>                                 transport))
>>                 continue
>> Which does a lookup in the table in usr/iscsi_net_util.c
>>         static struct iscsi_net_driver net_drivers[] = {
>>             {"cxgb3", "cxgb3i" },
>>             {"cxgb4", "cxgb4i" },
>>             {"bnx2", "bnx2i" },
>>             {"bnx2x", "bnx2i"},
>>             {NULL, NULL}
>>         };
>> to see if -N should skip this NIC.  I cannot determine the reason
>> for this check. Do iscsi offload NICs not need to be configured
>> for boot? The current code causes iscsi boots to fail. I removed the
>> check and booting works fine.
> If you use the ibft net info for the nic, what do you use for the iscsi
> offload engine?

I am not configuring it at boot (at least not yet). I haven't tried
using the boot support in the NIC firmware yet, just the uEFI iSCSI firmware
which will work with any NIC.

Do they both have the same IP, and are you creating boot
> iscsi sessions through the offload engine?

I am not using offload yet. But I will probably need to get this working next.

> cxgb*i is able to share the net info. The normal old nic engine and
> iscsi engine are able to use the same IP. That originally was not
> supposed to be allowed upstream, but it got in.
> bnx2* is (or at least was when we wrote that code) not able to share the
> net info. The nic and iscsi engines need different IPs.

That makes some sense. The firmware has two different MAC addresses,
one for the NIC and one for iSCSI.

> So to cover both types we just use the ibft net info for the iscsi
> offload engines.
> In the version of the code you are using is OFFLOAD_BOOT_SUPPORTED
> defined in open-iscsi/usr/iface.c or not?

Version 2.0.874. OFFLOAD_BOOT_SUPPORTED is in the code but not defined.

> If it's not defined and you modified the code like you described, then I
> think you would use the ibft info to setup the normal old nic, and then
> you would end up creating a boot session using software iscsi.

Yes, I believe that is the result I am getting.

I am not
> 100% sure about this last statement. I cannot remember and just looked
> at the code for a couple minutes.

I will try defining OFFLOAD_BOOT_SUPPORTED to see if that brings up the NIC.

You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to