efx_counter_t mae_id;
/* ID of a counter in RTE */
uint32_t rte_id;
+ /* RTE counter ID validity status */
+ bool rte_id_valid;
+
+ /* Flow Tunnel (FT) GROUP hit counter (or NULL) */
+ uint64_t *ft_group_hit_counter;
+ /* Flow Tunnel (FT) context (for JUMP rules; otherwise, NULL) */
+ struct sfc_flow_tunnel *ft;
};
/** Action set registry entry */
enum sfc_mae_status {
SFC_MAE_STATUS_UNKNOWN = 0,
SFC_MAE_STATUS_UNSUPPORTED,
- SFC_MAE_STATUS_SUPPORTED
+ SFC_MAE_STATUS_SUPPORTED,
+ SFC_MAE_STATUS_ADMIN,
};
/*
uint32_t generation_count;
union sfc_pkts_bytes value;
union sfc_pkts_bytes reset;
+
+ uint64_t *ft_group_hit_counter;
};
struct sfc_mae_counters_xstats {
enum sfc_flow_tunnel_rule_type ft_rule_type;
struct sfc_mae_pattern_data pattern_data;
efx_tunnel_protocol_t encap_type;
+ const struct rte_flow_item *pattern;
unsigned int priority;
struct sfc_flow_tunnel *ft;
};