OCS_FC(4)
π OCS_FC(4) β like, the Emulex Fibre Channel Host Adapter driver, bestie
okay so this is ocs_fc(4) from the Kernel Interfaces Manual (section 4, driver town β¨) and it's the page for the Emulex Fibre Channel Host Adapter driver. Strap in, it's actually so good.
β¨ SYNOPSIS β¨
Slap this in your kernel config:
device ocs_fc
And in device.hints(5):
hint.ocs_fc.N.initiator
hint.ocs_fc.N.target
hint.ocs_fc.N.topology
hint.ocs_fc.N.speed
In loader.conf(5):
ocs_fc_load="YES"
And in loader.conf(5) or sysctl.conf(5):
dev.ocs_fc.N.port_state
dev.ocs_fc.N.wwpn
dev.ocs_fc.N.wwnn
dev.ocs_fc.N.configured_speed
dev.ocs_fc.N.configured_topology
dev.ocs_fc.N.current_speed
dev.ocs_fc.N.current_topology
π¦ DESCRIPTION π¦
The ocs_fc driver provides access to Fibre Channel SCSI devices. That's the whole vibe. π«
It supports initiator and target modes, and you can hook it up over Arbitrated loops, Point-to-Point, or Fabric connections. Pick your fighter, they all slay.
Now, FC-Tape? highly recommended for connections to tape drives that support it. Not like "meh maybe", like highly. And FC-Tape is literally four elements from the T-10 FCP-4 specification:
- Precise Delivery of Commands
- Confirmed Completion of FCP I/O Operations
- Retransmission of Unsuccessfully Transmitted IUs
- Task Retry Identification
Together these features allow for link level error recovery with tape devices β and ngl, that's kind of the whole point. Without link level error recovery, an initiator cannot, for instance, tell whether a tape write command that has timed out resulted in all, part, or none of the data going to the tape drive. the suspense?? unbearable π
Good news: FC-Tape is automatically enabled when both the controller and target support it. It just happens. main character energy. π
π HARDWARE π
The ocs_fc driver supports these PCIe Fibre Channel adapters (and yes, they're all iconic):
LPe3500XFC Host Bus Adapter (Emulex 64/32G FC Gen 7 HBA)LPe3200XFC Host Bus Adapter (Emulex 32/16G FC Gen 6 HBA)LPe3100XFC Host Bus Adapter (Emulex 32/16G FC Gen 6 HBA)LPe160XXFC Host Bus Adapter (Emulex 16/8G FC Gen 5 HBA)LPe15004FC Host Bus Adapter (Emulex 16/8G FC Gen 5 HBA)
πΈ UPDATING FIRMWARE πΈ
First thing, bestie: adapter firmware updates are persistent. ok noted. π«Ά
Here's the whole ritual for updating firmware:
- Copy this code to a
Makefile:
KMOD=ocsflash
FIRMWS=imagename.grp:ocsflash
.include <bsd.kmod.mk>
- Replace
imagenamewith the name of the GRP file. - Copy the
Makefileand GRP file to a local directory - Execute
makeand copy the generatedocsflash.kofile to/lib/modules sysctl dev.ocs_fc.<N>.fw_upgrade=ocsflash- Check kernel messages regarding status of the operation
- Reboot the machine
step 7 is not optional, bestie, do not skip the reboot π
π BOOT OPTIONS π
These bad boys are controlled by setting values in /boot/device.hints:
hint.ocs_fc.N.initiatorβ Enable initiator functionality. Default1(enabled),0to disable.hint.ocs_fc.N.targetβ Enable target functionality. Default1(enabled),0to disable.hint.ocs_fc.N.topologyβ Topology:0for Auto,1for NPort only,2for Loop only.hint.ocs_fc.N.speedβ Link speed in megabits per second. Possible values include:0Auto-speed negotiation (default),4000(4GFC),8000(8GFC),16000(16GFC).
π§ SYSCTL OPTIONS π§
dev.ocs_fc.N.port_stateβ Port state (read/write). Valid values areonlineandoffline. that's literally it, two moods πdev.ocs_fc.N.wwpnβ World Wide Port Name (read/write).dev.ocs_fc.N.wwnnβ World Wide Node Name (read/write).dev.ocs_fc.N.fwrevβ Firmware revision (read-only). look, don't touch πdev.ocs_fc.N.snβ Adapter serial number (read-only).dev.ocs_fc.N.configured_speedβ Configured Port Speed (read/write). Valid values are:0Auto-speed negotiation (default),4000(4GFC),8000(8GFC),16000(16GFC).dev.ocs_fc.N.configured_topologyβ Configured Port Topology (read/write). Valid values are:0-Auto;1-NPort;2-Loop.dev.ocs_fc.N.current_speedβ Current Port Speed (read-only).dev.ocs_fc.N.current_topologyβ Current Port Topology (read-only).
β SUPPORT β
For general information and support, go to the Broadcom website at: http://www.broadcom.com/ or E-Mail at ocs-driver-team.pdl@broadcom.com. they're literally waiting to hear from you π
π SEE ALSO π
π AUTHORS π
The ocs_fc driver was written by Broadcom. periodt. π
ok that's the whole page, you're officially an ocs_fc girlie now πβ¨ this beauty lives in the Debian build of the manual, dated May 1, 2026 β go forth and slay your Fibre Channel setup, ily π«Άπ
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- π the page's license: BSD-3-Clause
- Copyright (c) 2017 Broadcom. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms