get_ipv6_ext_hdrs(9)
πΈ get_ipv6_ext_hdrs(9) β kernel API manual, but make it make sense πΈ
okay bestie, so this one is a function from the kernel API manual (get_ipv6_ext_hdrs(9), section 9, the kernel-y one) and it's lowkey doing detective work on your packets. let's get into it π
β¨ NAME β¨
get_ipv6_ext_hdrs β parses a packet and sets the IPv6 extension header flags. that's it, that's the whole job. she reads, she flags, she slays π₯
π¦ SYNOPSIS π¦
void get_ipv6_ext_hdrs (struct sk_buff *skb , struct ipv6hdr *nh , u16
*ext_hdrs );
yes it returns void, no she does not give you a return value, she gives you flags instead. main character energy honestly π
π ARGUMENTS π
skbβ the buffer where the extension header data starts in the packet π«Άnhβ the ipv6 headerext_hdrsβ this is where the flags get stored, so like, that's the output spot bestie π
π DESCRIPTION π
so OFPIEH12_UNREP gets set if you unexpectedly run into more than one of a given IPv6 extension header. like, rude?? but there's a lil exception: two destination options headers may be expected, and those would not cause this bit to be set. so don't come for that one π
OFPIEH12_UNSEQ gets set if the IPv6 extension headers were not in the order that RFC 2460 prefers (key word: preferred, not required β she's not enforcing, she's just judging a little π
).
and when more than one extension header shows up in the same packet, the recommendation is that they appear in this exact order:
- IPv6 header
- Hop-by-Hop Options header
- Destination Options header
- Routing header
- Fragment header
- Authentication header
- Encapsulating Security Payload header
- Destination Options header
- upper-layer header
like the original spells it out as one long line, but bestie, a numbered list is right there β same headers, same order, no cap π
π§ SEE ALSO π§
- Kernel file
./net/openvswitch/flow.c parse_vlan_tag(9)key_extract_l3l4(9)key_extract(9)
go read those too, iykyk πβ¨
ngl this one's a vibe check for packets: repeat headers β flag, wrong order β flag. she's not mad, she's just setting bits π
and that's the page!! brought to you by ./net/openvswitch, dated October 2026, same as always β mwah, go touch some packets πππ
π¦ 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