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 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, , 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.