STRUCT FLOW_DISSECTOR_KEY_PPPOE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct flow_dissector_key_pppoe(9) 🌸

okay bestie, welcome to the Kernel API Manual β€” yes, we're literally reading a kernel API manual together, this is our bonding time πŸ’–. Today's main character is a struct from ./include/net/flow_dissector.h, and ngl it's a little cutie with only three fields. Short and iconic. Periodt.


✨ NAME ✨

struct flow_dissector_key_pppoe β€” bestie... the original page gives us literally no description after the dash. That's it. That's the name. Empty. A mystery. A vibe. 🫢 (No cap, there's nothing else there, so we're not gonna invent one.)


πŸ¦‹ SYNOPSIS πŸ¦‹

struct flow_dissector_key_pppoe {
    __be16 session_id;
    __be16 ppp_proto;
    __be16 type;
};

Three __be16 fields, that's the whole thing, and honestly? Slay. Clean. Minimal. It's giving "I know exactly what I am" energy πŸ‘‘.


πŸŽ€ Members πŸŽ€

  • session_id β€” the pppoe session id. That's the entire description, bestie, the manpage keeps it short and sweet πŸ™ˆ.
  • ppp_proto β€” the ppp protocol. Again β€” short. Iconic. No notes. ✨
  • type β€” the pppoe eth type. Three words and she's done πŸ’….
fr fr, that's all the documentation gives us for each member, so I'm not about to start guessing at behaviour. We respect the source πŸ™.

🌈 SEE ALSO 🌈

The original points you at the kernel file ./include/net/flow_dissector.h and this whole ✨squad✨ of sibling structs β€” go read them, they're all doing their own thing and lowkey killing it:

  • struct flow_dissector_key_control(9)
  • struct flow_dissector_key_basic(9)
  • struct flow_dissector_key_enc_opts(9)
  • struct flow_dissector_key_ipv4_addrs(9)
  • struct flow_dissector_key_ipv6_addrs(9)
  • struct flow_dissector_key_tipc(9)
  • struct flow_dissector_key_addrs(9)
  • struct flow_dissector_key_arp(9)
  • struct flow_dissector_key_ports(9)
  • struct flow_dissector_key_ports_range(9)
  • struct flow_dissector_key_icmp(9)
  • struct flow_dissector_key_eth_addrs(9)
  • struct flow_dissector_key_tcp(9)
  • struct flow_dissector_key_ip(9)
  • struct flow_dissector_key_meta(9)
  • struct flow_dissector_key_ct(9)
  • struct flow_dissector_key_hash(9)
  • struct flow_dissector_key_num_of_vlans(9)
  • struct flow_dissector_key_l2tpv3(9)
  • struct flow_dissector_key_ipsec(9)
  • struct flow_dissector_key_cfm(9)

Like, look at that list β€” every single one accounted for, nobody left behind, we love a complete roster πŸ§šπŸ’œ.


aaaand that's the page, bestie!! πŸ“ This lil' struct lives over in ./include/net, and this edition of the manpage is dated October 2026 β€” so like, future vibes. Anyway, go forth and dissect those flows, you absolute icon πŸ”₯⭐ bye bestie!! πŸ’•

πŸ“¦ where this page comes from