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? Do they both have the same IP, and are you creating boot iscsi sessions through the offload engine? 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. 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? 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. I am not 100% sure about this last statement. I cannot remember and just looked at the code for a couple minutes. -- 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.