STRUCT FCOE_FCF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct fcoe_fcf(9) β€” Fibre-Channel Forwarder πŸ’–

okay so this is a page from the Kernel API Manual, section 9, and it's all about struct fcoe_fcf β€” the Fibre-Channel Forwarder. bestie, get comfy, we're going in 🫢


✨ NAME ✨

struct fcoe_fcf β€” Fibre-Channel Forwarder. yes that's the whole name, she's concise, she's iconic πŸ‘‘


🌸 SYNOPSIS 🌸

struct fcoe_fcf {
    struct list_head list;
    struct work_struct event_work;
    struct fcoe_ctlr *fip;
    struct fcoe_fcf_device *fcf_dev;
    unsigned long time;
    u64 switch_name;
    u64 fabric_name;
    u32 fc_map;
    u16 vfid;
    u8 fcf_mac[ETH_ALEN];
    u8 fcoe_mac[ETH_ALEN];
    u8 pri;
    u8 flogi_sent;
    u16 flags;
    u32 fka_period;
    u8 fd_flags:1;
 };

look at her. all those fields. main character energy fr fr πŸ’… (and yes, fd_flags really is a 1-bit bitfield, she's tiny but fierce πŸŽ€)


πŸ¦‹ Members πŸ¦‹

  • list β€” list linkage. she's linked up, that's her whole job πŸ’«
  • event_work β€” Work for FC Transport actions queue βš™οΈ
  • fip β€” The controller that the FCF was discovered on. iykyk, this is where she was found πŸ•΅οΈβ€β™€οΈ
  • fcf_dev β€” The associated fcoe_fcf_device instance 🫢
  • time β€” system time (jiffies) when an advertisement was last received ⏰ ngl this is literally just a timestamp in jiffies, no cap
  • switch_name β€” WWN of switch from advertisement πŸ”₯
  • fabric_name β€” WWN of fabric from advertisement 🌈
  • fc_map β€” FC_MAP value from advertisement πŸ—ΊοΈ
  • vfid β€” virtual fabric ID πŸ‘‘
  • fcf_mac β€” Ethernet address of the FCF for FIP traffic πŸ“¬
  • fcoe_mac β€” Ethernet address of the FCF for FCoE traffic πŸ“¨ (yes bestie, there are TWO macs, don't mix them up 😭)
  • pri β€” selection priority, smaller values are better ⭐ (so like, be small, be powerful)
  • flogi_sent β€” current FLOGI sent to this FCF πŸ“€
  • flags β€” flags received from advertisement 🚩
  • fka_period β€” keep-alive period, in jiffies πŸ’“ (again: jiffies, not seconds, don't come for me)
  • fd_flags β€” no need for FKA from ENode πŸ™ˆ

🌼 Description 🌼

A Fibre-Channel Forwarder (FCF) is the entity on the Ethernet that passes FCoE frames on to an FC fabric. that's the whole vibe β€” she's the middlewoman, the connector, the one who gets your frames where they need to go πŸš€

This structure represents one FCF from which advertisements have been received. one FCF, one struct, periodt πŸ’œ

When looking up an FCF, switch_name, fabric_name, fc_map, vfid, and fcf_mac together form the lookup key. so like β€” all five of those, together, no skipping, that's the combo that unlocks her πŸ”‘


πŸ’€ SEE ALSO πŸ’€

go read those too bestie, the whole friend group is a slay 🌸✨


ngl, everything here lives in ./include/scsi and this page is dated October 2026, from the Kernel API Manual, struct fcoe_fcf(9) β€” mwah, bye, go read your headers πŸ’‹πŸ’–
πŸ“¦ where this page comes from