oce(4) Device driver for Emulex OneConnect 10Gb network adapters


To compile this driver into the kernel, place the following lines in your kernel configuration file:
device pci device oce

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf5:



Emulex OneConnect adapters come in various skews and with different combinations of NIC, FCoE and iSCSI functions. The driver claims the NIC functions in all these adapters.

The driver supports VLAN Hardware offload, TCP checksum offload, TCP segmentation offload (TSO), Large receive offload (LRO), Bonding, Jumbo frames (from 1500 - 9000), Multiple TX queues, Receive-Side Scaling (RSS) and MSI-X interrupts.


The driver supports the following network adapters:

  • Emulex BladeEngine 2
  • Emulex BladeEngine 3
  • Emulex Lancer


Adapter firmware updates are persistent.

Firmware can be updated by following the steps below:

  1. Copy the below code to a Makefile:
    .include <bsd.kmod.mk>
  2. Replace imagename in above with UFI file name
  3. Copy Makefile and UFI file to a directory
  4. Execute make & copy generated elxflash.ko to /lib/modules
  5. sysctl dev.oce.<if_id>.fw_upgrade=elxflash
  6. Reboot the machine

In case of issues with supplied UFI, flashing fails with one of the following errors.

  1. Qq Invalid BE3 firmware image
  2. Qq Invalid Cookie. Firmware image corrupted ?
  3. Qq cmd to write to flash rom failed.


For general information and support, go to the Emulex website at: http://www.Emulex.com/ or E-Mail at [email protected]


An -nosplit The driver was written by An [email protected] .