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.