STRUCT NFP_FLOWER_PRIV(9)
πΈ NAME πΈ
okay so bestie, welcome to the Kernel API Manual page for struct nfp_flower_priv(9) β the Flower APP per-vNIC priv data. That's the whole vibe: it's the struct holding the Flower APP's per-vNIC private data. iconic β¨
β¨ SYNOPSIS β¨
here's the struct exactly as it appears, no cap:
struct nfp_flower_priv {
struct nfp_app *app;
struct nfp_net *nn;
u32 mask_id_seed;
u64 flower_version;
u64 flower_ext_feats;
u8 flower_en_feats;
struct nfp_fl_stats_id stats_ids;
struct nfp_fl_mask_id mask_ids;
unsigned long mask_table[1 << (( NFP_FLOWER_MASK_HASH_BITS) - 1)];
u32 stats_ring_size;
struct rhashtable flow_table;
struct nfp_fl_stats *stats;
spinlock_t stats_lock;
struct rhashtable stats_ctx_table;
struct work_struct cmsg_work;
struct sk_buff_head cmsg_skbs_high;
struct sk_buff_head cmsg_skbs_low;
struct nfp_fl_tunnel_offloads tun;
atomic_t reify_replies;
wait_queue_head_t reify_wait_queue;
struct nfp_mtu_conf mtu_conf;
struct nfp_fl_lag nfp_lag;
struct list_head indr_block_cb_priv;
struct list_head non_repr_priv;
unsigned int active_mem_unit;
unsigned int total_mem_units;
struct nfp_fl_internal_ports internal_ports;
struct delayed_work qos_stats_work;
unsigned int qos_rate_limiters;
spinlock_t qos_stats_lock;
struct mutex meter_stats_lock;
struct rhashtable meter_table;
int pre_tun_rule_cnt;
struct rhashtable merge_table;
struct rhashtable ct_zone_table;
struct nfp_fl_ct_zone_entry *ct_zone_wc;
struct rhashtable ct_map_table;
struct list_head predt_list;
struct rhashtable neigh_table;
spinlock_t predt_lock;
struct mutex nfp_fl_lock;
};
π Members π
okay so every single member gets its moment. No skips, bestie.
appβ back pointer toapp.nnβ pointer to the vNIC.mask_id_seedβ seed used for the mask hash table.flower_versionβ HW version of flower.flower_ext_featsβ bitmap of extra features the HW supports.flower_en_featsβ bitmap of features enabled by HW.stats_idsβ list of free stats ids.mask_idsβ list of free mask ids.mask_tableβ hash table used to store masks.stats_ring_sizeβ maximum number of allowed stats ids.flow_tableβ hash table used to store flower rules.statsβ stored stats updates for flower rules.stats_lockβ lock for flower rule stats updates.stats_ctx_tableβ hash table to map stats contexts to its flow rule.cmsg_workβ workqueue for control messages processing.cmsg_skbs_highβ list of higher priority skbs for control message processing.cmsg_skbs_lowβ list of lower priority skbs for control message processing.tunβ tunnel offload data.reify_repliesβ atomically stores the number of replies received from firmware for repr reify.reify_wait_queueβ wait queue for repr reify response counting.mtu_confβ configuration of repr MTU value.nfp_lagβ link aggregation data block.indr_block_cb_privβ list of priv data passed to indirect block cbs.non_repr_privβ list of offloaded non-repr ports and their priv data.active_mem_unitβ current active memory unit for flower rules.total_mem_unitsβ total number of available memory units for flower rules.internal_portsβ internal port ids used in offloaded rules.qos_stats_workβ workqueue for qos stats processing.qos_rate_limitersβ current active qos rate limiters.qos_stats_lockβ lock on qos stats updates.meter_stats_lockβ lock on meter stats updates.meter_tableβ hash table used to store the meter table.pre_tun_rule_cntβ number of pre-tunnel rules offloaded.merge_tableβ hash table to store merged flows.ct_zone_tableβ hash table used to store the different zones.ct_zone_wcβ special zone entry for wildcarded zone matches.ct_map_tableβ hash table used to referennce ct flows.predt_listβ list to keep track of decap pretun flows.neigh_tableβ table to keep track of neighbor entries.predt_lockβ lock to serialise predt/neigh table updates.nfp_fl_lockβ lock to protect the flow offload operation.
π¦ SEE ALSO π¦
the page points you at this kernel file and these structs, so go get your reading glasses bestie:
- Kernel file:
./drivers/net/ethernet/netronome/nfp/flower/main.h struct nfp_fl_tunnel_offloads(9)struct nfp_tun_neigh_lag(9)struct nfp_tun_neigh(9)struct nfp_tun_neigh_ext(9)struct nfp_tun_neigh_v4(9)struct nfp_tun_neigh_v6(9)struct nfp_neigh_entry(9)struct nfp_predt_entry(9)struct nfp_mtu_conf(9)struct nfp_fl_lag(9)struct nfp_fl_internal_ports(9)struct nfp_fl_qos(9)struct nfp_flower_repr_priv(9)struct nfp_flower_non_repr_priv(9)struct nfp_ipv6_addr_entry(9)
and that's the whole page, bestie π The footer says source/version ./drivers/net/ethernet/netrono... with date October 2026, and the manual label is struct nfp_flower_priv(9). 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