OCS_FC(4)
okay bestie, sit down, hydrate, because today we're reading ocs_fc β that's section 4 of the Kernel Interfaces Manual, and it's the device driver for Emulex Fibre Channel Host Adapters π
yes the whole thing, no skimming, we're doing this together π«Ά
β¨ NAME β¨
ocs_fc β Device driver for Emulex Fibre Channel Host Adapters π
πΈ SYNOPSIS πΈ
So you wanna compile this driver into the kernel? Add this line to the kernel configuration file, bestie:
device ocs_fc
Orrr if you'd rather load it as a module at boot time, go add this line to loader.conf(5):
ocs_fc_load="YES"
Pick your fighter. Both slay. β¨
π DESCRIPTION π
The ocs_fc driver provides access to Fibre Channel SCSI devices. that's the whole job, and it does it. π
It supports initiator and target modes, no cap. And it's cool with Arbitrated loops, Point-to-Point, and Fabric connections β all three, she's versatile like that. π
Now, FC-Tape is highly recommended for connections to tape drives that support it β like, take the recommendation, okay? FC-Tape includes 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 why do we care? Because without link level error recovery, an initiator literally cannot tell β for instance β whether a tape write command that has timed out resulted in all, part, or none of the data going to the tape drive. π that's the nightmare scenario, no thanks.
Good news: FC-Tape is automatically enabled when both the controller and the target support it. it just happens. iconic behaviour honestly. π¦
π₯ HARDWARE π₯
The ocs_fc driver supports these Fibre Channel adapters:
- Emulex 16/8G FC GEN 5 HBAS
- LPe15004 FC Host Bus Adapters
- LPe160XX FC Host Bus Adapters
- Emulex 32/16G FC GEN 6 HBAS
- LPe3100X FC Host Bus Adapters
- LPe3200X FC Host Bus Adapters
those are the ones, bestie. if yours isn't on the list, it's not on the list π
π§ UPDATING FIRMWARE π§
First thing: adapter firmware updates are persistent. they stick around. πΎ
Firmware can be updated by following these steps:
- 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
seven steps, in order, don't freestyle it πΈ
π BOOT OPTIONS π
Options are controlled by setting values in /boot/device.hints.
They are:
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).
psst β that N is the adapter number, iykyk π
π¦ SYSCTL OPTIONS π¦
dev.ocs_fc.N.port_stateβ Port state (read/write). Valid values areonlineandoffline.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).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).
notice howcurrent_speedandcurrent_topologyare read-only whileconfigured_*are read/write? yeah, that's the whole bit. you configure, it reports. π
π 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 for you, bestie π«Ά
π SEE ALSO π
π AUTHORS π
The ocs_fc driver was written by Broadcom. periodt. π
and that's the whole page, we ate, no crumbs left π this was the ocs_fc(4) page from the Debian crew, dated March 30, 2018 β go forth and fibre-channel responsibly, bestie π
β¨
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2017 Broadcom. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms