1
votes

I am using open-iscsi initiator and using bnx2i (broadcom offload driver)

However, there are many related drivers - bnx2, bnx2x and cnic drivers available.

Suppose that I want to perform discovery/login from the initiator using offload driver; In this case I prepare the iface configuration file for bnx2i and specify it while performing discovery. In this case bnx2i module is used instead of tcp.

Now I am getting confused about the role of other drivers - bnx2, bnx2x and cnic drivers. Are these drivers necessary for supporting bnx2i? Can someone elaborate on the data flow and dependency when using initiator and bnx2i?

3

3 Answers

2
votes

When working with these drivers in the VMware ESXi world, then it is the following difference:

  • bnx2 = Network driver for the 1Gbit card like the NetXtreme II BCM5709
  • bnx2x = Network driver for the 10Gbit card like the NetXtreme II BCM57711
  • bnx2i = ISCSI driver for the 10Gbit card like the NetXtreme II BCM57711 when it act like a hardware ISCSI storage adapter and not a network adapter
  • net-cnic & misc-cnic-register = Not sure about these.
1
votes

For the BCM5708/BCM5709 network adapters... The bnx2 driver is the networking driver; the bnx2i is the iSCSI offload driver; and the cnic driver is the 'broker' that supports the features required by the bnx2i iSCSI offload driver.

bnx2i is (according to the documentation) supported by the BCM5708/BCM5709 network adapters, not just the BCM57711.

Thanks. -Cheers, Peter.

0
votes

I believe "cnic" stands for "converged nic".

cnic_register is required for: bnx2 bnx2x bnx2i cnic

# This is from my VMware 5.1 ESXi host:
~ # esxcli system module list | grep "bnx"
bnx2                                true        true
bnx2x                               true        true
bnx2i                               true        true
~ # esxcli system module list | grep "cnic"
cnic_register                       true        true
cnic                                true        true
~ # esxcli system module get --module "bnx2" | grep "Required Namespaces"
   Required Namespaces: [email protected], [email protected], com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "bnx2x" | grep "Required Namespaces"
   Required Namespaces: [email protected], [email protected], com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "bnx2i" | grep "Required Namespaces"
   Required Namespaces: [email protected], [email protected], [email protected], [email protected], com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "cnic_register" | grep "Required Namespaces"
   Required Namespaces: [email protected], com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "cnic" | grep "Required Namespaces"
   Required Namespaces: [email protected], [email protected], com.vmware.vmkapi@v2_0_0_0

I tried to get the bnx2i working with dependant iscsi vmware config, but the bnx2i driver would actually crash and only some vmhba would show up. I was using the updated driver package from broadcom, (I tried around June 2013). Maybe VMware ESXi 5.5 and its drivers will work better?