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: com.broadcom.cnic_register@9.2.0.0, com.vmware.driverAPI@9.2.0.0, com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "bnx2x" | grep "Required Namespaces"
Required Namespaces: com.broadcom.cnic_register@9.2.0.0, com.vmware.driverAPI@9.2.0.0, com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "bnx2i" | grep "Required Namespaces"
Required Namespaces: com.broadcom.cnic@9.2.0.0, com.broadcom.cnic_register@9.2.0.0, com.vmware.driverAPI@9.2.0.0, com.vmware.iscsi_linux@9.2.0.0, com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "cnic_register" | grep "Required Namespaces"
Required Namespaces: com.vmware.driverAPI@9.2.0.0, com.vmware.vmkapi@v2_0_0_0
~ # esxcli system module get --module "cnic" | grep "Required Namespaces"
Required Namespaces: com.broadcom.cnic_register@9.2.0.0, com.vmware.driverAPI@9.2.0.0, 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?