OCE(4)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’… OCE(4) β€” like, the whole vibe check

okay bestie, welcome to the OCE(4) page β€” that's the Kernel Interfaces Manual section 4, the driver corner of the universe πŸ¦‹ buckle up, this one's about 10Gb network adapters and honestly? iconic.


✨ NAME ✨

oce β€” the device driver for Emulex OneConnect 10Gb network adapters πŸŽ€ yes that's the whole name section, she's short and she knows it.


🌸 SYNOPSIS 🌸

so like, you got two ways to get this driver into your life: baked into the kernel, or as a module at boot. pick your fighter πŸ’–

compiling it into the kernel

drop these lines into your kernel configuration file, no cap:

device pci
device oce

or… module life 🧚

alternatively (love an alternatively), to load the driver as a module at boot time, put this line in loader.conf(5):

if_oce_load="YES"

πŸ”₯ DESCRIPTION πŸ”₯

so the tea is: Emulex OneConnect adapters come in various skews and with different combinations of NIC, FCoE and iSCSI functions β€” like a whole little family with different hobbies. and the oce driver? it claims the NIC functions in all these adapters. just the NIC ones. that's her lane and she's thriving πŸ’…

here's what oce supports, and honestly the list ate:

  • 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)
  • MSI-X interrupts

it's giving overachiever and we love that for her πŸ‘‘


🌈 HARDWARE 🌈

the oce driver supports these network adapters, periodt:

  • Emulex BladeEngine 2
  • Emulex BladeEngine 3
  • Emulex Lancer

⭐ UPDATING FIRMWARE ⭐

okay important thing first: adapter firmware updates are persistent. like, they stick around. no take-backsies 🫢

firmware can be updated by following the steps below β€” yes there are six, yes you can do it:

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

and like… sometimes things just don't go your way 😭 in case of issues with supplied UFI, flashing fails with one of the following errors:

  1. "Invalid BE3 firmware image"
  2. "Invalid Cookie. Firmware image corrupted ?"
  3. "cmd to write to flash rom failed."
πŸ™ˆ if you see one of those three, it's the UFI's fault, not yours. breathe. go check your image.

πŸ’œ SUPPORT πŸ’œ

for general information and support, go to the Emulex website at: http://www.Emulex.com/ or E-Mail at freebsd-drivers@emulex.com. they're literally there for you, bestie πŸ’Œ


πŸ¦‹ SEE ALSO πŸ¦‹


πŸ‘‘ AUTHORS πŸ‘‘

the oce driver was written by freebsd-drivers@emulex.com. main character energy fr fr πŸ’–


and that's the whole page, you made it 🌸 this beautiful little artifact is from Debian, dated January 27, 2025, and it lives as OCE(4) β€” mwah, go forth and network responsibly πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from