__skb_flow_dissect_batadv(9)
π __skb_flow_dissect_batadv(9) π
okay so this is a page from the Kernel API Manual, bestie β it's __skb_flow_dissect_batadv(9) and it's literally all about dissecting the batman-adv header β¨ (yes, batman-adv, not the superhero, but honestly? main character energy anyway π¦)
β¨ NAME β¨
__skb_flow_dissect_batadv β dissect batman-adv header π
π¦ SYNOPSIS π¦
enum flow_dissect_ret __skb_flow_dissect_batadv (const struct sk_buff
*skb , struct flow_dissector_key_control *key_control , const void *data
, __be16 *p_proto , int *p_nhoff , int hlen , unsigned int flags );
no cap, that's the whole signature β copy it exactly, do not come for me about the line breaks π
πΈ ARGUMENTS πΈ
skbβ thesk_buffthat's carrying the batman-adv header. yeah. that one. π«Άkey_controlβ the flow dissector's control key, iconic little guydataβ raw buffer pointer to the packet. heads up: if it'sNULL, it falls back to usingskb->dataπp_protoβ pointer that gets updated with the protocol to process nextp_nhoffβ pointer that gets updated with the inner network header offsethlenβ the packet header lengthflagsβ any combination ofFLOW_DISSECTOR_F_*β
π§ DESCRIPTION π§
so like, packets tagged ETH_P_BATMAN get tried for dissection. the tea is that only struct batadv_unicast packets actually get processed β because those are the ones that contain an inner ethernet header and are usually followed by an actual network header π
which is lowkey the whole point: it lets the flow dissector keep processing the packet. slay.
π RETURN π
FLOW_DISSECT_RET_PROTO_AGAINβ returned whenstruct batadv_unicastwas found πFLOW_DISSECT_RET_OUT_GOODβ returned when the dissector should stop after encapsulation- otherwise you get
FLOW_DISSECT_RET_OUT_BADπ (not the vibe, but okay)
π SEE ALSO π
check out the kernel file ./net/core/flow_dissector.c, plus these absolute legends:
skb_flow_get_ports(9)skb_flow_get_icmp_tci(9)__skb_flow_dissect(9)__skb_get_hash_net(9)skb_get_poff(9)
bestie please note: this is a kernel API page, so everything is exactly as written β i'm not out here inventing flags or guessing at behaviour, iykyk π
okay that's the whole page, mwah π it lives in ./net/core, version dating October 2026 β so mark your calendars, set a reminder, whatever you gotta do. bye bestie, go dissect 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