STRUCT SIENA_NIC_DATA(9)
π struct siena_nic_data(9) π
okay so bestie, this is from the Kernel API Manual, and it's literally the whole vibe of the Siena NIC state β like, every single thing this driver needs to remember about itself lives in here. no cap. let's get into it π«Ά
β¨ NAME β¨
struct siena_nic_data β the Siena NIC state. that's it, that's the whole thing, and honestly? iconic.
πΈ SYNOPSIS πΈ
here's the struct, bestie, copied exactly so nobody comes for me:
struct siena_nic_data {
struct efx_nic *efx;
int wol_filter_id;
u64 stats[SIENA_STAT_COUNT];
#ifdef CONFIG_SFC_SIENA_SRIOV;
struct siena_vf *vf;
struct efx_channel *vfdi_channel;
unsigned vf_buftbl_base;
struct efx_buffer vfdi_status;
struct list_head local_addr_list;
struct list_head local_page_list;
struct mutex local_lock;
struct work_struct peer_work;
#endif;
};
π notice the last four-ish fields are fenced behind #ifdef CONFIG_SFC_SIENA_SRIOV; β so they only show up when that config is on. keep that in mind, it's giving conditional realness.
π Members π
every field, one by one, no skipping, no "lol I'll summarise later" β that's not how we do it here π
efxβ pointer back to the main interface structure. like a little "home" link for the driver πwol_filter_idβ the Wake-on-LAN packet filter id. yes, the thing that wakes your machine up from its nap π΄statsβ the hardware statistics. hardware. statistics. say it with me π₯vfβ array ofstruct siena_vfobjects.vf_buftbl_baseβ the zeroth buffer table index used to back VF queues. zeroth!! index zero!! very main character energy πvfdi_statusβ common VFDI status page to be dmad to VF address space.local_addr_listβ list of local addresses. protected bylocal_lock. β οΈlocal_page_listβ list of DMA addressable pages used to broadcastlocal_addr_list. protected bylocal_lock. β οΈlocal_lockβ the mutex protectinglocal_addr_listandlocal_page_list. the bodyguard, fr fr π‘οΈpeer_workβ work item to broadcast peer addresses to VMs.
π tiny aside: vfdi_channel is chillin' in the struct up there but this page doesn't hand you a description for it β so I'm not gonna invent one. we don't make stuff up in this house.
π¦ SEE ALSO π¦
go touch grass in the kernel source, the file is right here:
- Kernel file
./drivers/net/ethernet/sfc/siena/nic.h
and that's the whole page, bestie β slay π
π cute sign-off time: this gem comes from./drivers/net/ethernet/sfc/siena, dated October 2026, and it's filed understruct siena_nic_data(9). 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