Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
Data Structures | Macros | Typedefs | Enumerations | Functions
INBAND FLOW ANALYZER API: Provide An Configuring [OPENAPI_INSTRU_IFA]

Data Structures

struct  _open_ifa_5_tuple_key_
 
struct  _open_ifa_capabilities_
 
struct  _open_ifa_cl_config_
 
struct  _open_ifa_cl_key_
 
struct  _open_ifa_feature_
 
struct  _open_ifa_flow_
 
struct  _open_ifa_flow_key_
 
struct  _open_ifa_flow_params_
 
struct  _open_ifa_session_
 
struct  _open_ifa_session_key_
 
struct  _open_ifa_session_stats_
 

Macros

#define OPEN_IFA_ASIC_MAX_COUNT   1
 Max number of ASICs supported.
 
#define OPEN_IFA_MAX_FLOWS_PER_SESSION   8
 
#define OPEN_IFA_MAX_NAME_LENGTH   128
 Maximum length of name param.
 

Typedefs

typedef struct _open_ifa_5_tuple_key_ OPEN_IFA_5_TUPLE_KEY_t
 
typedef struct _open_ifa_capabilities_ OPEN_IFA_CAPABILITIES_t
 
typedef enum _open_ifa_cl_config_param_mask_ OPEN_IFA_CL_CONFIG_PARAM_MASK_t
 
typedef struct _open_ifa_cl_config_ OPEN_IFA_CL_CONFIG_t
 
typedef struct _open_ifa_cl_key_ OPEN_IFA_CL_KEY_t
 
typedef enum _open_ifa_dev_type_ OPEN_IFA_DEV_TYPE_t
 
typedef enum _open_ifa_feat_config_mask_ OPEN_IFA_FEAT_CONFIG_MASK_t
 
typedef struct _open_ifa_feature_ OPEN_IFA_FEATURE_t
 
typedef struct _open_ifa_flow_key_ OPEN_IFA_FLOW_KEY_t
 
typedef enum _open_ifa_flow_param_mask_ OPEN_IFA_FLOW_PARAM_t
 
typedef struct _open_ifa_flow_params_ OPEN_IFA_FLOW_PARAMS_t
 
typedef struct _open_ifa_flow_ OPEN_IFA_FLOW_t
 
typedef enum _open_ifa_flow_type_ OPEN_IFA_FLOW_TYPE_t
 
typedef struct _open_ifa_session_key_ OPEN_IFA_SESSION_KEY_t
 
typedef struct _open_ifa_session_stats_ OPEN_IFA_SESSION_STATS_t
 
typedef struct _open_ifa_session_ OPEN_IFA_SESSION_t
 
typedef enum _open_ifa_tuple_mask_ OPEN_IFA_TUPLE_MASK_t
 

Enumerations

enum  _open_ifa_cl_config_param_mask_ { OPEN_IFA_CL_CONFIG_VLAN_MASK = (1 << 0), OPEN_IFA_CL_CONFIG_PRIORITY_MASK = (1 << 1) }
 
enum  _open_ifa_dev_type_ { IFA_DEV_TYPE_INGRESS = (1 << 0), IFA_DEV_TYPE_INTERMEDIATE = (1 << 1), IFA_DEV_TYPE_EGRESS = (1 << 2) }
 
enum  _open_ifa_feat_config_mask_ { OPEN_IFA_FEAT_CONFIG_DEV_ID = (1 << 1), OPEN_IFA_FEAT_CONFIG_DEV_TYPE = (1 << 2) }
 
enum  _open_ifa_flow_param_mask_ { OPEN_IFA_FLOW_PARAM_ING_PORT = (1 << 0), OPEN_IFA_FLOW_PARAM_SAMPLING_RATE = (1 << 1) }
 
enum  _open_ifa_flow_type_ { OPEN_IFA_FLOW_FIVE_TUPLE = (1<<0), OPEN_IFA_FLOW_EGR_PORTS = (1<<1), OPEN_IFA_FLOW_ING_PORTS = (1<<2) }
 
enum  _open_ifa_tuple_mask_ {
  OPEN_IFA_CONFIG_TUPLE_SRC_IP = (1 << 0), OPEN_IFA_CONFIG_TUPLE_DST_IP = (1 << 1), OPEN_IFA_CONFIG_TUPLE_PROTOCOL = (1 << 2), OPEN_IFA_CONFIG_TUPLE_SRC_PORT = (1 << 3),
  OPEN_IFA_CONFIG_TUPLE_DST_PORT = (1 << 4)
}
 

Functions

open_error_t openapiIfaCapabilitiesGet (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_CAPABILITIES_t *cap)
 Get IFA capabilities. More...
 
open_error_t openapiIfaClearStats (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Clear IFA stats. More...
 
open_error_t openapiIfaCollectorCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_CL_CONFIG_t *clConfig)
 Create IFA collector. More...
 
open_error_t openapiIfaCollectorRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Remove IFA collector. More...
 
open_error_t openapiIfaConfigGet (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_FEATURE_t *config)
 Inband flow analyzer feature configuration get function. More...
 
open_error_t openapiIfaConfigSet (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_FEATURE_t *config)
 Inband flow analyzer feature configuration set function. More...
 
open_error_t openapiIfaFlowCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_FLOW_t *appFlow)
 Create IFA flow. More...
 
open_error_t openapiIfaFlowRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Remove IFA flow. More...
 
open_error_t openapiIfaSessionCreate (openapiClientHandle_t *clientHandle, int asic, OPEN_IFA_SESSION_t *session)
 Create IFA session. More...
 
open_error_t openapiIfaSessionRemove (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Remove IFA session. More...
 
open_error_t openapiIfaSessionStart (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Start IFA session. More...
 
open_error_t openapiIfaSessionStatsGet (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name, OPEN_IFA_SESSION_STATS_t *data)
 Get IFA stats. More...
 
open_error_t openapiIfaSessionStop (openapiClientHandle_t *clientHandle, int asic, open_buffdesc *name)
 Stop IFA session. More...
 

Detailed Description

Function Documentation

open_error_t openapiIfaCapabilitiesGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_CAPABILITIES_t cap 
)

Get IFA capabilities.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]capIFA capabilities
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaClearStats ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Clear IFA stats.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA session name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaCollectorCreate ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_CL_CONFIG_t clConfig 
)

Create IFA collector.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]clConfigIFA collector configuration
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaCollectorRemove ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Remove IFA collector.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA collector name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaConfigGet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_FEATURE_t config 
)

Inband flow analyzer feature configuration get function.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in,out]configInband flow analyzer config
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaConfigSet ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_FEATURE_t config 
)

Inband flow analyzer feature configuration set function.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]configInband flow analyzer config
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaFlowCreate ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_FLOW_t appFlow 
)

Create IFA flow.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]appFlowIFA flow configuration
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaFlowRemove ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Remove IFA flow.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA flow name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaSessionCreate ( openapiClientHandle_t clientHandle,
int  asic,
OPEN_IFA_SESSION_t session 
)

Create IFA session.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]sessionIFA session configuration
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaSessionRemove ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Remove IFA session.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA session name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaSessionStart ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Start IFA session.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA session name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaSessionStatsGet ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name,
OPEN_IFA_SESSION_STATS_t data 
)

Get IFA stats.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA session name
datainput/ouput IFA session stats
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18
open_error_t openapiIfaSessionStop ( openapiClientHandle_t clientHandle,
int  asic,
open_buffdesc name 
)

Stop IFA session.

Parameters
[in]clientHandleOpenAPI connection Handle
[in]asicAsic/Unit number
[in]nameIFA session name
Return values
OPEN_E_NONE
OPEN_E_ERROR
OPEN_E_PARAMOpEN API Version: 1.18