STRUCT EFX_CHANNEL_TYPE(9)
π struct efx_channel_type π
okay bestie, welcome to the struct efx_channel_type(9) manual page β yes, thatβs the kernel API manual energy, and this struct is literally here to distinguish traffic and extra channels. no cap, thatβs its whole main character job. β¨
πΈ NAME πΈ
struct efx_channel_type β distinguishes traffic and extra channels. periodt. π
β¨ SYNOPSIS β¨
hereβs the whole squad, character for character:
struct efx_channel_type {
void (*handle_no_channel)(struct efx_nic *);
int (*pre_probe)(struct efx_channel *);
void (*post_remove)(struct efx_channel *);
void (*get_name)(struct efx_channel *, char *buf, size_t len);
struct efx_channel *(*copy)(const struct efx_channel *);
bool (*receive_skb)(struct efx_channel *, struct sk_buff *);
bool (*want_txqs)(struct efx_channel *);
bool keep_eventq;
bool want_pio;
};
π Members π
handle_no_channelβ handles failure to allocate an extra channel. lowkey the βoops, no extra channelβ handler. π«Άpre_probeβ sets up extra state prior to initialisation. itβs giving prep era. β¨post_removeβ tears down extra state after finalisation, if allocated. heads up: it may be called on channels that have not been probed. πget_nameβ generates the channelβs name, which is used for its IRQ handler. iconic naming ceremony. πcopyβ copies the channel state prior to reallocation. may beNULLif reallocation is not supported. π¦receive_skbβ handles an skb ready to be passed tonetif_receive_skb. yes bestie, skb delivery duty. π¦want_txqsβ determines whether this channel should have TX queues created. ifNULL, TX queues are not created. no TX queues, no drama. πkeep_eventqβ flag for whether event queue should be kept initialised while the device is stopped. keeping it ready, fr fr. π₯want_pioβ flag for whether PIO buffers should be linked to this channelβs TX queues. PIO buffer link-up vibes. π
π SEE ALSO π
kernel file ./drivers/net/ethernet/sfc/siena/net_driver.h is the home base, and you can also go give these a vibe check:
struct efx_buffer(9)struct efx_special_buffer(9)struct efx_tx_buffer(9)struct efx_tx_queue(9)struct efx_rx_buffer(9)struct efx_rx_page_state(9)struct efx_rx_queue(9)struct efx_channel(9)struct efx_msi_context(9)struct efx_link_state(9)enum efx_phy_mode(9)struct efx_hw_stat_desc(9)struct efx_rss_context(9)struct efx_arfs_rule(9)struct efx_async_filter_insertion(9)struct efx_nic(9)struct efx_nic_type(9)
xoxo π this page lives under ./drivers/net/ethernet/sfc/siena, dated October 2026, and itβs all about struct efx_channel_type(9). mwah π
π¦ 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