fcoe_ctlr_select(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… fcoe_ctlr_select(9) β€” Kernel API Manual ✨

🌸 NAME 🌸

fcoe_ctlr_select β€” select the best FCF (if possible) πŸ’–

✨ SYNOPSIS ✨

struct fcoe_fcf * fcoe_ctlr_select (struct fcoe_ctlr *fip );

πŸŽ€ ARGUMENTS πŸŽ€

  • fip β€” the FCoE controller. That's the whole argument, bestie 🫢

πŸ’« DESCRIPTION πŸ’«

Returns the selected FCF, or NULL if none are usable. That's it β€” if nobody is usable, you get NULL, no cap.

If there are conflicting advertisements, no FCF can be chosen. 🚫 Like, they're fighting in the group chat and nobody gets crowned.

If there is already a selected FCF, this will choose a better one or an equivalent one that hasn't already been sent a FLOGI. πŸ‘‘βœ¨

Called with lock held. πŸ”’ That's the vibe β€” the lock is already held when this runs.

πŸ‘― SEE ALSO πŸ‘―

Kernel file to peek at: ./drivers/scsi/fcoe/fcoe_ctlr.c πŸ’–

The whole SEE ALSO squad, no one left out: fcoe_ctlr_set_state(9), fcoe_ctlr_mtu_valid(9), fcoe_ctlr_fcf_usable(9), fcoe_ctlr_map_dest(9), fcoe_ctlr_init(9), fcoe_sysfs_fcf_add(9), fcoe_sysfs_fcf_del(9), fcoe_ctlr_reset_fcfs(9), fcoe_ctlr_destroy(9), fcoe_ctlr_announce(9), fcoe_ctlr_fcoe_size(9), fcoe_ctlr_solicit(9), fcoe_ctlr_link_up(9), fcoe_ctlr_reset(9), fcoe_ctlr_link_down(9).

Also on the invite list: fcoe_ctlr_send_keep_alive(9), fcoe_ctlr_encaps(9), fcoe_ctlr_els_send(9), fcoe_ctlr_age_fcfs(9), fcoe_ctlr_parse_adv(9), fcoe_ctlr_recv_adv(9), fcoe_ctlr_recv_els(9), fcoe_ctlr_recv_clr_vlink(9), fcoe_ctlr_recv(9), fcoe_ctlr_recv_handler(9), fcoe_ctlr_flogi_send_locked(9), fcoe_ctlr_flogi_retry(9), fcoe_ctlr_flogi_send(9), fcoe_ctlr_timeout(9), fcoe_ctlr_timer_work(9).

Still going, because the guest list is iconic: fcoe_ctlr_recv_work(9), fcoe_ctlr_recv_flogi(9), fcoe_wwn_from_mac(9), fcoe_ctlr_rport(9), fcoe_ctlr_vn_send(9), fcoe_ctlr_vn_rport_callback(9), fcoe_ctlr_disc_stop_locked(9), fcoe_ctlr_disc_stop(9), fcoe_ctlr_disc_stop_final(9), fcoe_ctlr_vn_restart(9), fcoe_ctlr_vn_start(9), fcoe_ctlr_vn_parse(9), fcoe_ctlr_vn_send_claim(9), fcoe_ctlr_vn_probe_req(9), fcoe_ctlr_vn_probe_reply(9).

And the final batch, periodt: fcoe_ctlr_vn_add(9), fcoe_ctlr_vn_lookup(9), fcoe_ctlr_vn_claim_notify(9), fcoe_ctlr_vn_claim_resp(9), fcoe_ctlr_vn_beacon(9), fcoe_ctlr_vn_age(9), fcoe_ctlr_vn_recv(9), fcoe_ctlr_vlan_parse(9), fcoe_ctlr_vlan_send(9), fcoe_ctlr_vlan_disc_reply(9), fcoe_ctlr_vlan_recv(9), fcoe_ctlr_disc_recv(9), fcoe_ctlr_vn_disc(9), fcoe_ctlr_vn_timeout(9), fcoe_ctlr_mode_set(9), fcoe_libfc_config(9).


Final sign-off vibe check: this is the fcoe_ctlr_select(9) page from the Kernel API Manual, source ./drivers/scsi/fcoe, dated October 2026 β€” mwah, bestie πŸ’‹πŸ’–βœ¨

πŸ“¦ where this page comes from