fcoe_get_paged_crc_eof(9)
π fcoe_get_paged_crc_eof(9) β like, the kernel API manual page bestie
okay so this is fcoe_get_paged_crc_eof(9) from the Kernel API Manual, and honestly? it's a tiny little function that does one very specific thing and does it well. let's get into it π
β¨ NAME β¨
fcoe_get_paged_crc_eof β literally just allocating a page to be used for the trailer CRC. that's the whole vibe. no cap.
πΈ SYNOPSIS πΈ
int fcoe_get_paged_crc_eof (struct sk_buff *skb , int tlen , struct fcoe_percpu_s *fps );
three args, one int coming back at you. we love a clean signature π
π¦ ARGUMENTS π¦
skbβ the packet to be transmitted. the main character of this whole operation fr.tlenβ the total length of the trailer. yes, total. she's keeping count.fpsβ the fcoe context. your per-cpu situation, iykyk.
π§ DESCRIPTION π§
so like, this routine allocates a page for frame trailers. that's the job. iconic.
but here's the clever part β the page gets re-used if there's enough room left on it for the current trailer. no need to go allocate a whole new one when the old one still has space. environmentally conscious queen π
if there isn't enough buffer left? okay then, a new page gets allocated for the trailer. simple as that. no drama.
and then the reference situation: the reference to the page from this function, plus the skbs using the page fragments, together ensure that the page is freed at the appropriate time. team effort. everybody holds their piece and the page gets cleaned up exactly when it should. periodt. π₯
β RETURN β
0 for success. that's it. that's the whole return value. she keeps it simple π«Ά
π SEE ALSO π
kernel file: ./drivers/scsi/fcoe/fcoe_transport.c β go read it, it's giving source of truth
the whole fcoe friend group, in order:
fcoe_link_speed_update(9)__fcoe_get_lesb(9)fcoe_get_lesb(9)fcoe_ctlr_get_lesb(9)fcoe_validate_vport_create(9)fcoe_get_wwn(9)fcoe_fc_crc(9)fcoe_start_io(9)fcoe_clean_pending_queue(9)fcoe_check_wait_queue(9)fcoe_queue_timer(9)fcoe_transport_lookup(9)fcoe_transport_attach(9)fcoe_transport_detach(9)fcoe_netdev_map_lookup(9)fcoe_if_to_netdev(9)libfcoe_device_notification(9)fcoe_transport_create(9)fcoe_transport_destroy(9)fcoe_transport_disable(9)fcoe_transport_enable(9)libfcoe_init(9)libfcoe_exit(9)
go off, read them all π
ngl bestie, this one's short but she's precise. page reuse, refcounting, clean free β that's the whole story. don't overthink it π
mwah π that's the whole page β brought to you by the lovely humans over in ./drivers/scsi/fcoe, dated October 2026, in the fcoe_get_paged_crc_eof(9) era. catch you in the next manpage, bestie πβ¨
π¦ 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