40 #ifndef OPENAPI_FT_H_INCLUDED
41 #define OPENAPI_FT_H_INCLUDED
50 OPEN_FT_PKT_TYPE_FLW_TEMPLATE = 1,
51 OPEN_FT_PKT_TYPE_FLW_GRP_TEMPLATE,
52 OPEN_FT_PKT_TYPE_FLW_GRP_REC
58 unsigned int periodicity;
59 unsigned int rec_periodicity;
60 unsigned short src_port;
65 typedef enum _open_ft_config_feat_param_mask_
67 OPEN_FT_CONFIG_FEAT_ENABLE_MASK = (1 << 0),
68 OPEN_FT_CONFIG_FEAT_PARAM_FLW_AGE_TIME_MASK = (1 << 1),
69 } OPEN_FT_CONFIG_FEAT_PARAM_MASK_t;
76 unsigned int flow_aging_time;
84 OPEN_FT_CONFIG_FEAT_PARAM_MASK_t param_mask;
91 OPEN_FT_CL_TRANS_TYPE_IPv4_UDP = (1<<0),
92 OPEN_FT_CL_TRANS_TYPE_IPv6_UDP = (1<<1),
93 OPEN_FT_CL_TRANS_TYPE_RAW = (1<<2)
96 typedef enum _open_ft_cl_config_param_mask_
98 OPEN_FT_CL_CONFIG_PORT_MASK = (1 << 0),
99 } OPEN_FT_CL_CONFIG_PARAM_MASK_t;
104 OPEN_FT_CL_PROTO_IPFIXv10 = 10
107 #define OPEN_FT_MAX_NAME_LENGTH 128
112 char name[OPEN_FT_MAX_NAME_LENGTH];
116 OPEN_FT_CL_CONFIG_PARAM_MASK_t param_mask;
125 unsigned int max_pkt_len;
132 OPEN_INSTRU_IP_PREFIX_t src_ip;
133 OPEN_INSTRU_IP_PREFIX_t dst_ip;
134 unsigned int protocol;
135 unsigned short src_port;
136 unsigned short dst_port;
137 unsigned int tuple_mask;
140 #define OPEN_FT_MASK_BASE_UNIT unsigned int
141 #define OPEN_FT_MASKWID (8*sizeof(unsigned int))
144 #define OPEN_FT_MASK_SIZE(_max) (((_max) + OPEN_FT_MASKWID - 1) / OPEN_FT_MASKWID)
146 #define OPEN_FT_PORT_MAX_RANGE_STR_LEN 256
149 #define OPEN_ASIC_ICOS_FT_MAX_PORTS 300
150 #define OPEN_ASIC_FT_MAX_PORTS OPEN_ASIC_ICOS_FT_MAX_PORTS
155 OPEN_FT_MASK_BASE_UNIT value[OPEN_FT_MASK_SIZE(OPEN_ASIC_FT_MAX_PORTS)];
156 uint8_t port_list_str[OPEN_FT_PORT_MAX_RANGE_STR_LEN];
168 typedef enum _open_ft_flw_grp_action_mask_
170 OPEN_FT_FLW_GRP_REP_FLWS = (1 << 0),
171 OPEN_FT_FLW_GRP_REP_FLW_GRPS = (1 << 1),
172 } OPEN_FT_FLW_GRP_ACTION_MASK_t;
175 #define OPEN_FT_MAX_COLLECTOR_LIST_PER_FG 1
180 OPEN_FT_FLW_GRP_MON_TYPE_FIVE_TUPLE = (1 << 0),
181 OPEN_FT_FLW_GRP_MON_TYPE_EGR_PORTS = (1 << 1),
182 OPEN_FT_FLW_GRP_MON_TYPE_ING_PORTS = (1 << 2),
183 OPEN_FT_FLW_GRP_MON_TYPE_CONGESTION = (1 << 3),
189 char name[OPEN_FT_MAX_NAME_LENGTH];
197 OPEN_FT_FLW_GRP_ACTION_MASK_t action_mask;
201 #define OPEN_FT_TEMPLATE_MAX_SETS 1
204 #define OPEN_IP_FIX_INF_MAX_ELEMENTS 16
207 #define OPEN_FT_MAX_TEMPLATES_IN_FLW OPEN_FT_TEMPLATE_MAX_SETS
210 #define OPEN_FT_MIN_PAYLOAD_LEN 64
213 #define OPEN_FT_MAX_PAYLOAD_LEN 1500
216 #define OPEN_FT_ASIC_MAX_COUNT 1
219 #pragma pack(push, 1)
222 unsigned short ent_ele_id;
224 bool ent_num_present;
225 unsigned long ent_num;
231 char name[OPEN_FT_MAX_NAME_LENGTH];
232 unsigned short template_hdr_id;
233 unsigned int num_ele;
239 unsigned int num_templates;
249 uint64_t tcp_syn_cnt;
250 uint64_t tcp_fin_cnt;
251 uint64_t tcp_rst_cnt;
257 bool multiple_collector_support;
258 unsigned int max_collectors;
259 unsigned int export_protocols;
260 unsigned int flw_grp_types;
261 unsigned int max_flw_grps;
262 unsigned int max_flws;
263 bool flw_sampling_support;
264 bool flw_template_support_in_fw;
270 char name[OPEN_FT_MAX_NAME_LENGTH];
277 char collectorName[OPEN_FT_MAX_NAME_LENGTH];
278 char templateName[OPEN_FT_MAX_NAME_LENGTH];