On Friday, December 9, 2016 at 3:33:57 PM UTC-7, Mike Christie wrote:
>
> On 12/08/2016 10:55 AM, andrew.p...@hpe.com <javascript:> 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