STRUCT NFP_MTU_CONF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct nfp_mtu_conf(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one's a struct page, manual section 9, and it's literally all about managing the MTU setting. yes, that MTU. the big one. no cap πŸŽ€


✨ NAME ✨

struct nfp_mtu_conf β€” manage MTU setting 🫢

like the whole entire job of this struct is keeping track of an MTU change request and whether it got acked. that's it. that's the vibe check. πŸ’…


🌸 SYNOPSIS 🌸

struct nfp_mtu_conf {
    u32 portnum;
    unsigned int requested_val;
    bool ack;
    wait_queue_head_t wait_q;
    spinlock_t lock;
 };

look at her. five fields. absolutely iconic layout, no notes 😭✨


πŸ¦‹ Members πŸ¦‹

okay so let's meet the cast, one field at a time πŸ‘‘

  • portnum β€” this is a u32, and it's the NFP port number of the repr that's got the requested MTU change. like, which port are we even talking about? this one. πŸ’–
  • requested_val β€” an unsigned int, and it's literally the MTU value requested for that repr. the number you asked for. the dream. the goal. 🎯
  • ack β€” a bool, and it flips when you've received an ack that the MTU has been correctly set</fimint>. so like, confirmation. the "yes bestie it's done" flag. βœ… (not me spelling it ack and thinking about the noise you make when you see a bug β€” anyway πŸ›)
  • wait_q β€” a wait_queue_head_t and it's the wait queue for MTU acknowledgements. everyone just chilling in line waiting for their ack to show up. very main character queue energy ngl πŸ’œ
  • lock β€” a spinlock_t, and it's the lock for setting/reading MTU variables. because we do not rawdog shared state in this house, periodt. πŸ”’
lowkey important: that lock is there for a reason β€” setting and reading these MTU variables is the exact thing it's guarding. don't be out here reading requested_val without it, iykyk πŸ™ˆ

πŸ”₯ SEE ALSO πŸ”₯

so this struct lives in the kernel file ./drivers/net/ethernet/netronome/nfp/flower/main.h β€” that's where you'll find her, fr fr πŸ“βœ¨

and she's in extremely good company, because you also gotta check out:

  • struct nfp_fl_tunnel_offloads(9)
  • struct nfp_tun_neigh_lag(9)
  • struct nfp_tun_neigh(9)
  • struct nfp_tun_neigh_ext(9)
  • struct nfp_tun_neigh_v4(9)
  • struct nfp_tun_neigh_v6(9)
  • struct nfp_neigh_entry(9)
  • struct nfp_predt_entry(9)
  • struct nfp_fl_lag(9)
  • struct nfp_fl_internal_ports(9)
  • struct nfp_flower_priv(9)
  • struct nfp_fl_qos(9)
  • struct nfp_flower_repr_priv(9)
  • struct nfp_flower_non_repr_priv(9)
  • struct nfp_ipv6_addr_entry(9)

like that's a whole friend group right there, the flower squad πŸŒΈπŸ¦‹ go read all of them, bestie, they're all connected πŸ’–


and that's the whole page!! this one shipped out of ./drivers/net/ethernet/netrono... back in October 2026, and it's filed under struct nfp_mtu_conf(9) in section 9 of the manual πŸŽ€ mwah, go set some MTUs responsibly πŸ’‹βœ¨πŸ«Ά

πŸ“¦ where this page comes from