fcoe_set_port_id(9)
π fcoe_set_port_id β kernel API manual, but make it make sense
Okay bestie, so this one's fcoe_set_port_id(9) from the Kernel API Manual β it's a lil callback situation and honestly it's giving "small function, big responsibility" energy. Let's get into it. π¦
β¨ NAME β¨
fcoe_set_port_id β the callback that libfc hits when the Port_ID gets set. That's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
void fcoe_set_port_id (struct fc_lport *lport , u32 port_id , struct
fc_frame *fp );
Yes, void β this one doesn't hand anything back, it just does the thing. π
π«Ά ARGUMENTS π«Ά
lportβ the local port, aka the main character of this whole operation.port_idβ the port ID itself, the actual value we're here for.fpβ the received frame, if any, that's what caused theport_idto get set. Could be a whole frame, could be nothing β it depends, and that's fine. π
π₯ DESCRIPTION π₯
So here's the tea: this routine handles the case where we received a FLOGI and we're heading into point-to-point mode. Like, the plot is thickening. π§
And because we're in that situation, we need to call fcoe_ctlr_recv_flogi so it can set the non-mapped mode and the gateway address. That's literally the whole job β no cap.
Meanwhile, just so you know how the pieces fit together: the FLOGI LS_ACC is handled by fcoe_flogi_resp. Different function, different job, but they're besties. π€
π SEE ALSO π
Kernel file ./drivers/scsi/fcoe/fcoe.c β and honestly, the whole extended friend group:
fcoe_interface_setup(9)fcoe_interface_create(9)fcoe_interface_remove(9)fcoe_interface_cleanup(9)fcoe_fip_recv(9)fcoe_fip_vlan_recv(9)fcoe_port_send(9)fcoe_fip_send(9)fcoe_update_src_mac(9)fcoe_get_src_mac(9)fcoe_lport_config(9)fcoe_netdev_config(9)fcoe_shost_config(9)fcoe_fdmi_info(9)fcoe_oem_match(9)fcoe_em_config(9)fcoe_if_destroy(9)fcoe_ddp_setup(9)fcoe_ddp_target(9)fcoe_ddp_done(9)fcoe_if_create(9)fcoe_if_init(9)fcoe_if_exit(9)fcoe_rcv(9)fcoe_alloc_paged_crc_eof(9)fcoe_xmit(9)fcoe_filter_frames(9)fcoe_recv_frame(9)fcoe_receive_work(9)fcoe_dev_setup(9)fcoe_dev_cleanup(9)fcoe_device_notification(9)fcoe_disable(9)fcoe_enable(9)fcoe_ctlr_enabled(9)fcoe_ctlr_mode(9)fcoe_destroy(9)fcoe_destroy_work(9)fcoe_match(9)fcoe_dcb_create(9)_fcoe_create(9)fcoe_create(9)fcoe_ctlr_alloc(9)fcoe_link_ok(9)fcoe_percpu_clean(9)fcoe_reset(9)fcoe_hostlist_lookup_port(9)fcoe_hostlist_lookup(9)fcoe_hostlist_add(9)fcoe_hostlist_del(9)fcoe_init(9)fcoe_exit(9)fcoe_flogi_resp(9)fcoe_logo_resp(9)fcoe_vport_create(9)fcoe_vport_destroy(9)fcoe_vport_remove(9)fcoe_vport_disable(9)fcoe_set_vport_symbolic_name(9)
Lowkey the whole FCoE squad lives in ./drivers/scsi/fcoe and they all said "we're a package deal" β so yeah, read the whole list. π
π Okay that's the page! Signing off with the receipts: this all lives under ./drivers/scsi/fcoe, it's dated October 2026, and yeah β same source dir, same date, no notes. Periodt. πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms