fcoe_ctlr_age_fcfs(9)
π
fcoe_ctlr_age_fcfs β the FCoE glow-up cleanup page
okay so this is a Kernel API Manual page, bestie, and the function it's hyping up is fcoe_ctlr_age_fcfs. Yes it's a mouthful. No we're not renaming it, it's iconic as-is. π
β¨ NAME β¨
fcoe_ctlr_age_fcfs β reset and free all old FCFs for a controller π§Ήπ
πΈ SYNOPSIS πΈ
unsigned long fcoe_ctlr_age_fcfs (struct fcoe_ctlr *fip );
like literally that's the whole signature. unsigned long in, unsigned long out, we love a return type. β¨
π¦ ARGUMENTS π¦
fipβ the FCoE controller you're freeing FCFs on. that's the one. give it a little kiss on the forehead first π«Ά
β DESCRIPTION β
okay so real talk: this one gets called with the lock held and preemption disabled. not optional, not a vibe suggestion β that's the contract, so respect it. π
so here's the tea on when an FCF counts as old: we've missed two advertisements from it. meaning there's been no valid advertisement from it for 2.5 times its keep-alive period. two strikes, you're geriatric, bye π
on top of that, it also figures out the time when an FCF selection can occur. multitasking queen π
and β not me forgetting the counter β it also increments MissDiscAdvCount whenever no advertisement is received for the corresponding FCF for 1.5 * FKA_ADV_PERIOD (that's the FC-BB-5 LESB spec, iykyk). π
finally it returns the time in jiffies for the next call. so like, schedule yourself accordingly bestie β°β¨
π SEE ALSO π
so there's a whole friend group here, and honestly? it's giving family reunion. the kernel file itself lives at ./drivers/scsi/fcoe/fcoe_ctlr.c β go say hi π«Ά
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)fcoe_ctlr_send_keep_alive(9)fcoe_ctlr_encaps(9)fcoe_ctlr_els_send(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_select(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)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)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)
and that's the page, bestie!! π this one came out of ./drivers/scsi/fcoe, dated October 2026, and it's filed under fcoe_ctlr_age_fcfs(9) in the Kernel API Manual. slay, go free some old FCFs responsibly πβ¨
π¦ 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