STRUCT NFP_FL_CT_FLOW_ENTRY(9)
π struct nfp_fl_ct_flow_entry(9) π
okay so this is a Kernel API Manual page, bestie β it's literally the struct nfp_fl_ct_flow_entry, and it's the lil container that holds all your conntrack flow info. it's giving "small struct, huge responsibilities" and honestly? we stan. π«Ά
β¨ NAME β¨
struct nfp_fl_ct_flow_entry β the flow entry that's carrying around all your conntrack flow information π
πΈ SYNOPSIS πΈ
struct nfp_fl_ct_flow_entry {
unsigned long cookie;
struct list_head list_node;
u32 chain_index;
u32 goto_chain_index;
struct net_device *netdev;
struct nfp_fl_ct_zone_entry *zt;
struct list_head children;
struct flow_rule *rule;
struct flow_stats stats;
struct nfp_fl_nft_tc_merge *prev_m_entries[NFP_MAX_RECIRC_CT_ZONES -
1];
u8 num_prev_m_entries;
u8 tun_offset;
u8 flags;
u8 type;
};
no cap, look at her. the prev_m_entries array is so long it had to wrap a line and it did NOT care. iconic behavior. π
π Members π
cookieβ the flow cookie πͺ. it's the same as the original TC flow, and it's used as the key. literally the main character of the identity department.list_nodeβ used by the list. that's it, that's the whole vibe. it's astruct list_headdoing list things.chain_indexβ chain index of the original flow π.goto_chain_indexβ the goto chain index of the flow. yes it's different fromchain_index, don't @ me.netdevβ thenet_devicestructure. the actual network device, right there.ztβ a reference to the zone table this whole thing belongs to ποΈ.childrenβ list oftc_mergeflows that this flow forms part of. found family fr fr π.ruleβ reference to the original TC flow rule.statsβ used to cache stats for updating π. it's holding your numbers so they're ready when you need 'em.prev_m_entriesβ array of ALL previousnft_tc_mergeentries. all of them. every single one. it'sNFP_MAX_RECIRC_CT_ZONES - 1wide and proud of it π¦.num_prev_m_entriesβ the number of all those previousnft_tc_mergeentries. someone's gotta keep count.tun_offsetβ used to indicate the tunnel action offset in the action list π³οΈβ¨flagsβ used to indicate a flow flag like NAT, which is used by merge. flutter that flag, girl π©typeβ the type of ct-entry, straight fromenum ct_entry_type.
lowkey important:cookieis the key, andprev_m_entriesis sizedNFP_MAX_RECIRC_CT_ZONES - 1β keep both exactly as-is, bestie, no editing the array size, i'm begging π
π SEE ALSO π
- Kernel file
./drivers/net/ethernet/netronome/nfp/flower/conntrack.hπ struct nfp_fl_ct_zone_entry(9)struct nfp_fl_ct_tc_merge(9)struct nfp_fl_nft_tc_merge(9)struct nfp_fl_ct_map_entry(9)nfp_fl_ct_handle_pre_ct(9)nfp_fl_ct_handle_post_ct(9)nfp_fl_create_new_pre_ct(9)nfp_fl_ct_clean_flow_entry(9)nfp_fl_ct_del_flow(9)nfp_fl_ct_handle_nft_flow(9)nfp_fl_ct_stats(9)
like, go read the whole friend group. they all link up. iykyk π€
and that's the page!! π brought to you by the source ./drivers/net/ethernet/netrono... (yes it's truncated in the original, i'm not touching it, it's fragile π) and dated October 2026 β β mwah, go forth and handle your conntrack flows, bestie ππ§ββοΈ
π¦ 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