Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
Data Structures | Macros | Typedefs | Enumerations | Functions
openapi_instru_flow_tracker.h File Reference
#include <stdbool.h>
#include "openapi_common.h"
#include "openapi_instru_nos.h"

Go to the source code of this file.

Data Structures

struct  _open_ft_5_tuple_key_
 5-tuple parameters More...
 
struct  _open_ft_capabilities_t_
 Structure to hold capbilities. More...
 
struct  _open_ft_cl_config
 Flow tracker collector config. More...
 
struct  _open_ft_cl_info_
 Flow tracker collector configuration. More...
 
struct  _open_ft_clear_flw_grp_stats_
 
struct  _open_ft_config_feat_param_
 
struct  _open_ft_configure_feature_
 Flow Tracker feature configuration. More...
 
struct  _open_ft_flw_grp_config_
 Flow group configuration. More...
 
union  _open_ft_flw_grp_mon_params_
 Union of flow group monitoring params. More...
 
struct  _open_ft_flw_grp_stats_t_
 Structure to hold Group stats. More...
 
struct  _open_ft_flw_rec_template_
 
struct  _open_ft_flw_rec_template_info_
 
struct  _open_ft_ipfix_config_
 IPFIX configuration of flow and flow group record exporting processes. More...
 
struct  _open_ft_template_xmit_config_s
 
struct  _open_ip_fix_fld_spec_with_en_
 
struct  OPEN_FT_PORT_MASK_t
 

Macros

#define OPEN_ASIC_FT_MAX_PORTS   OPEN_ASIC_ICOS_FT_MAX_PORTS
 
#define OPEN_ASIC_ICOS_FT_MAX_PORTS   300
 Maximum number of ports. More...
 
#define OPEN_FT_ASIC_MAX_COUNT   1
 Max number of ASICs supported.
 
#define OPEN_FT_MASK_BASE_UNIT   unsigned int
 
#define OPEN_FT_MASK_SIZE(_max)    (((_max) + OPEN_FT_MASKWID - 1) / OPEN_FT_MASKWID)
 
#define OPEN_FT_MASKWID   (8*sizeof(unsigned int))
 
#define OPEN_FT_MAX_COLLECTOR_LIST_PER_FG   1
 Max collector for each flow group.
 
#define OPEN_FT_MAX_NAME_LENGTH   128
 
#define OPEN_FT_MAX_PAYLOAD_LEN   1500
 Max payload length.
 
#define OPEN_FT_MAX_TEMPLATES_IN_FLW   OPEN_FT_TEMPLATE_MAX_SETS
 Max templates to used by flow exporting process.
 
#define OPEN_FT_MIN_PAYLOAD_LEN   64
 Min payload length.
 
#define OPEN_FT_PORT_MAX_RANGE_STR_LEN   256
 
#define OPEN_FT_TEMPLATE_MAX_SETS   1
 Max supported sets in a template packet by FT.
 
#define OPEN_IP_FIX_INF_MAX_ELEMENTS   16
 Max elements in a template record.
 

Typedefs

typedef struct _open_ft_5_tuple_key_ OPEN_FT_5_TUPLE_KEY_t
 5-tuple parameters
 
typedef struct _open_ft_capabilities_t_ OPEN_FT_CAPABILITIES_t
 Structure to hold capbilities.
 
typedef enum _open_ft_cl_config_param_mask_ OPEN_FT_CL_CONFIG_PARAM_MASK_t
 
typedef struct _open_ft_cl_config OPEN_FT_CL_CONFIG_t
 Flow tracker collector config.
 
typedef struct _open_ft_cl_info_ OPEN_FT_CL_INFO_t
 Flow tracker collector configuration.
 
typedef enum _open_ft_cl_proto_ OPEN_FT_CL_PROTO_t
 Flow Tracker Collector Protocol.
 
typedef enum _open_ft_cl_trans_type_ OPEN_FT_CL_TRANS_TYPE_t
 Transport type used to communicate with collector.
 
typedef struct _open_ft_clear_flw_grp_stats_ OPEN_FT_CLEAR_FLW_GRP_STATS_t
 
typedef enum _open_ft_config_feat_param_mask_ OPEN_FT_CONFIG_FEAT_PARAM_MASK_t
 
typedef struct _open_ft_config_feat_param_ OPEN_FT_CONFIG_FEAT_PARAM_t
 
typedef struct _open_ft_configure_feature_ OPEN_FT_CONFIG_t
 Flow Tracker feature configuration.
 
typedef enum _open_ft_flw_grp_action_mask_ OPEN_FT_FLW_GRP_ACTION_MASK_t
 
typedef struct _open_ft_flw_grp_config_ OPEN_FT_FLW_GRP_CONFIG_t
 Flow group configuration.
 
typedef union _open_ft_flw_grp_mon_params_ OPEN_FT_FLW_GRP_MON_PARAMS_t
 Union of flow group monitoring params.
 
typedef enum _open_ft_flw_grp_mon_type_ OPEN_FT_FLW_GRP_MON_TYPE_t
 Flow Tracker flow group monitor type.
 
typedef struct _open_ft_flw_grp_stats_t_ OPEN_FT_FLW_GRP_STATS_t
 Structure to hold Group stats.
 
typedef struct _open_ft_flw_rec_template_info_ OPEN_FT_FLW_REC_TEMPLATE_INFO_t
 
typedef struct _open_ft_flw_rec_template_ OPEN_FT_FLW_REC_TEMPLATE_t
 
typedef struct _open_ft_ipfix_config_ OPEN_FT_IPFIX_CONFIG_t
 IPFIX configuration of flow and flow group record exporting processes.
 
typedef enum _open_ft_pkt_type_ OPEN_FT_PKT_TYPE_t
 Enum to identify packet type.
 
typedef struct _open_ft_template_xmit_config_s OPEN_FT_TEMPLATE_XMIT_CONFIG_t
 
typedef struct _open_ip_fix_fld_spec_with_en_ OPEN_IP_FIX_FLD_SPEC_WITH_EN_t
 

Enumerations

enum  _open_ft_cl_config_param_mask_ { OPEN_FT_CL_CONFIG_PORT_MASK = (1 << 0) }
 
enum  _open_ft_cl_proto_ { OPEN_FT_CL_PROTO_IPFIXv10 = 10 }
 Flow Tracker Collector Protocol.
 
enum  _open_ft_cl_trans_type_ { OPEN_FT_CL_TRANS_TYPE_IPv4_UDP = (1<<0), OPEN_FT_CL_TRANS_TYPE_IPv6_UDP = (1<<1), OPEN_FT_CL_TRANS_TYPE_RAW = (1<<2) }
 Transport type used to communicate with collector.
 
enum  _open_ft_config_feat_param_mask_ { OPEN_FT_CONFIG_FEAT_ENABLE_MASK = (1 << 0), OPEN_FT_CONFIG_FEAT_PARAM_FLW_AGE_TIME_MASK = (1 << 1) }
 
enum  _open_ft_flw_grp_action_mask_ { OPEN_FT_FLW_GRP_REP_FLWS = (1 << 0), OPEN_FT_FLW_GRP_REP_FLW_GRPS = (1 << 1) }
 
enum  _open_ft_flw_grp_mon_type_ { OPEN_FT_FLW_GRP_MON_TYPE_FIVE_TUPLE = (1 << 0), OPEN_FT_FLW_GRP_MON_TYPE_EGR_PORTS = (1 << 1), OPEN_FT_FLW_GRP_MON_TYPE_ING_PORTS = (1 << 2), OPEN_FT_FLW_GRP_MON_TYPE_CONGESTION = (1 << 3) }
 Flow Tracker flow group monitor type.
 
enum  _open_ft_pkt_type_ { OPEN_FT_PKT_TYPE_FLW_TEMPLATE = 1, OPEN_FT_PKT_TYPE_FLW_GRP_TEMPLATE, OPEN_FT_PKT_TYPE_FLW_GRP_REC }
 Enum to identify packet type.
 

Functions

open_error_t openapiFtCapabilitiesGet (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_CAPABILITIES_t *pCapabilities)
 Flow tracker feature capabilities get function. More...
 
open_error_t openapiFtCollectorConfigCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_CL_INFO_t *clInfo)
 Flow collector configuration create function. More...
 
open_error_t openapiFtCollectorConfigRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Flow collector configuration remove function. More...
 
open_error_t openapiFtConfigSet (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_CONFIG_t *ftCfg)
 Flow tracker feature configuration set function. More...
 
open_error_t openapiFtFlowGroupConfigCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_FLW_GRP_CONFIG_t *ftFlwGrpCfg)
 Flow group configuration create function. More...
 
open_error_t openapiFtFlowGroupConfigRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Flow group configuration remove function. More...
 
open_error_t openapiFtFlowGroupStatsClear (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Flow group statistics clear function. More...
 
open_error_t openapiFtFlowGroupStatsGet (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name, OPEN_FT_FLW_GRP_STATS_t *pStat)
 Flow group statistics get function. More...
 
open_error_t openapiFtFlowTemplateConfigCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_FLW_REC_TEMPLATE_t *ftFlwTemplateCfg)
 Flow template configuration create function. More...
 
open_error_t openapiFtFlowTemplateConfigRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Flow template configuration remove function. More...
 
open_error_t openapiFtPktSend (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name, OPEN_FT_PKT_TYPE_t pkt_type, int payloadSize, open_buffdesc *payload)
 Flow group template format packet send function. More...
 
open_error_t openapiFtStatsClear (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_CLEAR_FLW_GRP_STATS_t *clearStatParams)
 Flow group statistics clear function. More...
 
open_error_t openapiFtTemplateTransmitConfig (openapiClientHandle_t *clientHandle, int asic, OPEN_FT_TEMPLATE_XMIT_CONFIG_t *ftTemplateXmitConfig)
 Flow tracker template transmit configuration. More...