__libeth_xdp_set_features(9)
β¨ __libeth_xdp_set_features(9) β¨
okay so bestie, welcome to the kernel API manual π this one's a lil function called __libeth_xdp_set_features and it's literally all about turning on XDP features for a netdev. buckle up, it's short but it matters.
πΈ NAME πΈ
__libeth_xdp_set_features β set XDP features for netdev β¨
π SYNOPSIS π
void __libeth_xdp_set_features (struct net_device *dev , const struct
xdp_metadata_ops *xmo , u32 zc_segs , const struct xsk_tx_metadata_ops
*tmo );
π ARGUMENTS π
devβ thenet_deviceyou're configuring, periodt. this is the one that actually matters, no cap.xmoβ theXDP metadata ops(aka the Rx hints π).zc_segsβ the maximum number of S/G frags the HW can transmit. yeah, hardware limits, iconic of it honestly.tmoβ theXSk Tx metadata ops(the Tx hints β¨).
π¦ DESCRIPTION π¦
so what does it do? it sets all the features that libeth_xdp supports. that's the whole vibe β¨
here's the tea though: only the first argument is necessary π«Ά. and if you don't pass that third one β like, you leave it at zero β then XSk support just won't be advertised. not a bug, just how she works π.
β οΈ real talk: use the non-underscored versions in drivers instead. this underscore girlie is the internal one, iykyk π
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/intel/libeth/xdp.c libeth_xdpsq_init_timer(9)libeth_xdp_tx_exception(9)libeth_xdp_load_stash(9)libeth_xdp_save_stash(9)libeth_xdp_return_buff_slow(9)libeth_xdp_buff_add_frag(9)libeth_xdp_prog_exception(9)libeth_xdp_return_buff_bulk(9)libeth_xdp_queue_threshold(9)libeth_xdp_set_redirect(9)
β and that's the whole page bestie π«Ά this lil manual moment comes to you from ./drivers/net/ethernet/intel/l..., dated October 2026, filed under __libeth_xdp_set_features(9) β slay, go set some features ππ
π¦ 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