STRUCT FLOW_DISSECTOR_KEY_CT(9)
πΈ struct flow_dissector_key_ct(9) πΈ
okay bestie, so this one lives in the Kernel API Manual, and it's literally the struct that holds all your conntrack (connection tracking) tea β β the state, the zone, the mark, the labels. it's giving "backstage pass to netfilter" energy and honestly? we're obsessed.
β¨ NAME β¨
struct flow_dissector_key_ct β and yeah, that's it, the name section is an empty box in the original too, so don't come for me π
the struct itself does all the talking.
π¦ SYNOPSIS π¦
here's the whole vibe, copied exactly so you can trust me:
struct flow_dissector_key_ct {
u16 ct_state;
u16 ct_zone;
u32 ct_mark;
u32 ct_labels[4];
};
look at her. four fields, zero notes. main character struct behavior, no cap π
π Members π
break it down with me:
ct_stateβ the conntrack state, but only after converting with map. so it's not raw, it's been remapped into flow-dissector-friendly form. important lil distinction, don't skip it β¨ct_zoneβ the conntrack zone. you know, the zone. the neighborhood your connection lives in π‘ct_markβ the conntrack mark. (the original manpage literally spells it conttrack down there, bless its heart π we still love it, typo and all)ct_labelsβ the conntrack labels. it's an array of fouru32s, soct_labels[4], so plenty of label room to go around π
π₯ SEE ALSO π₯
first up, the source of truth itself β Kernel file ./include/net/flow_dissector.h β go read the actual struct, it's right there.
and then, the entire flow dissector family reunion π every single sibling, no one left out:
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_hash(9)struct flow_dissector_key_num_of_vlans(9)struct flow_dissector_key_pppoe(9)struct flow_dissector_key_l2tpv3(9)struct flow_dissector_key_ipsec(9)struct flow_dissector_key_cfm(9)
like. that's the whole group chat. iykyk π«Ά
π the sign-off π
this little icon of a page ships out of ./include/net, dated October 2026, and it answers to the name struct flow_...ector_key_ct(9) (yes, they really abbreviate it that hard in the header, it's giving "my name is too long for the terminal" π). go forth and dissect some flows, bestie β you're gonna slay π§β¨
π¦ 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