38 #ifndef OPENAPI_IPSLA_H_INCLUDED
39 #define OPENAPI_IPSLA_H_INCLUDED
50 OPEN_IPSLA_OPERATION_TYPE_NONE = 0,
51 OPEN_IPSLA_OPERATION_TYPE_ICMP_ECHO = 1
81 typedef enum openIpSlaTrackTypes_s
83 OPEN_IPSLA_TRACKING_TYPE_REACHABILITY = 0,
84 OPEN_IPSLA_TRACKING_TYPE_STATE = 1
117 typedef enum openTrackRC_s
119 OPEN_IPSLA_TRACK_RC_UNKNOWN = 0,
120 OPEN_IPSLA_TRACK_RC_OK = 1,
121 OPEN_IPSLA_TRACK_RC_TIMEOUT = 2,
122 OPEN_IPSLA_TRACK_RC_OVERTHRESHOLD = 3,
134 uint32_t delayStartTime;
137 uint32_t lastStatusChangeUpdateTime;
138 uint32_t numStatusChangeUpdates;
139 uint32_t latestOperationReturnCode;
OPEN_BOOL_t inUse
L7_TRUE if this entry contains a Track object config info.
uint32_t delayDown
Time to delay notification of Down event.
uint32_t srcIntIfNum
Optional.
open_error_t openapiIpSlaIpSlaIdNodeCfgInfoGet(openapiClientHandle_t *client_handle, uint32_t ipSlaId, openIpSlaCfg_t *ipSlaCfgInfo)
Get the config information of the given IP SLA number.
open_error_t openapiIpSlaIpSlaIdCfgNodeNextGet(openapiClientHandle_t *client_handle, uint32_t ipSlaId, OPEN_BOOL_t isShowRunningCfg, uint32_t *nextIpSlaId)
To get the ipSla id of the next IPSLA probe operational entry from the IPSLA Table.
open_error_t openapiIpSlaSetIpSlaProbesFrequency(openapiClientHandle_t *client_handle, uint32_t ipSlaId, uint32_t frequency)
Set the given IP SLA Operation's ICMP-ECHO Frequency value.
open_error_t openapiIpSlaSetIpSlaProbesVrfName(openapiClientHandle_t *client_handle, uint32_t ipSlaId, open_buffdesc *vrfName)
Set the given IP SLA Operation's ICMP-ECHO VRF Name value.
enum openTrackRC_s openTrackRC_t
Data structure for Operational data of Track-Table Element.
openIpSlaOperTypes_s
< IPSLA operation types
uint32_t numFailures
Count of Failed Probes (Return Code is not 'OK').
uint32_t delayUp
Time to delay notification of Up event.
open_error_t openapiIpSlaIpSlaIdNodeOperInfoGet(openapiClientHandle_t *client_handle, uint32_t ipSlaId, openIpSlaOperData_t *ipSlaOperInfo)
Get the operational info of the given IP SLA number.
#define OPEN_VRF_MAX_NAME_LEN
largest allowable VRF name
open_error_t
OPEN uses these enumerators to indicate the error codes.
openIpSlaOperTypes_t ipSlaType
{OPEN_IPSLA_OPER_TYPE_NONE, OPEN_IPSLA_OPER_TYPE_ICMP_ECHO} [default: OPEN_IPSLA_OPER_TYPE_NONE] ...
uint32_t family
IP address family type of associated IPSLA operation (OPEN_AF_INET or OPEN_AF_INET6).
open_error_t openapiIpSlaIpSlaProbesIcmpEchoTypeSet(openapiClientHandle_t *client_handle, uint32_t ipSlaId, open_inet_addr_t destIpAddress, uint32_t srcIntIfNum)
Set the given IP SLA Operation's ICMP-ECHO Type params.
open_error_t openapiIpSlaSetIpSlaProbesThreshold(openapiClientHandle_t *client_handle, uint32_t ipSlaId, uint32_t threshold)
Set the given IP SLA Operation's ICMP-ECHO Threshold value.
open_error_t openapiIpSlaSetTrackOjectsDelayDownTime(openapiClientHandle_t *client_handle, uint32_t trackId, uint32_t downDelayTime)
Set the given Track object's Down delay time value.
uint32_t latestOperationStartUpTime
Up time since lastest probe start time.
open_error_t openapiIpSlaTrackIdNodeOperInfoGet(openapiClientHandle_t *client_handle, uint32_t trackId, openIpSlaTrackOperData_t *trackOperInfo)
Get the operational info of the given track number.
uint32_t ipSlaId
IP SLA operation number Range {1-128}.
OPEN_BOOL_t isSrcIntfV4RoutingEnabled
OPEN_TRUE if IPv4 routing is enabled on the interface.
OPEN_BOOL_t isSrcIntfV6RoutingEnabled
OPEN_TRUE if IPv6 routing is enabled on the interface.
enum openIpSlaTrackTypes_s openIpSlaTrackTypes_t
Data structure for Operational Data of IP-SLA-Table Element.
open_error_t openapiIpSlaIpSlaIdCfgNodeFirstGet(openapiClientHandle_t *client_handle, OPEN_BOOL_t isShowRunningCfg, uint32_t *ipSlaId)
To get the IPSLA ID of the first IPSLA probe operational.
open_error_t openapiIpSlaTrackIdCfgNodeFirstGet(openapiClientHandle_t *client_handle, uint32_t *trackId)
To get the track Id of the first track object's operational entry from the Track Table.
open_error_t openapiIpSlaTrackIdCfgNodeNextGet(openapiClientHandle_t *client_handle, uint32_t trackId, uint32_t *nextTrackId)
To get the track Id of the next track object's operational entry from the TrackTable.
struct openIpSlaCfg_s openIpSlaCfg_t
IPSLA Tracking types.
struct openIpSlaIcmpEchoCfg_s openIpSlaIcmpEchoCfg_t
IP SLA Config Entry Structure.
OPEN_BOOL_t isScheduled
{OPEN_TRUE, OPEN_FALSE} [Default: OPEN_FALSE]
uint32_t probeReturnCode
{OK, Timeout, overThreshold} [Default: OK]
uint32_t trackedIpSlaId
Tracked IP SLA operation number.
open_error_t openapiIpSlaIpSlaSchedule(openapiClientHandle_t *client_handle, uint32_t ipSlaId, OPEN_BOOL_t toSchedule)
Schedule an IP SLA operation to start or stop probing.
struct openIpSlaTrackCfg_s openIpSlaTrackCfg_t
IPSLA Tracking return codes.
uint32_t frequency
1-3600 seconds [Default: 60sec]
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_inet_addr_t destIpAddr
By default when un-configured this contains L7_AF_NONE family type and zero address.
enum openIpSlaOperTypes_s openIpSlaOperTypes_t
< IPSLA operation types
uint32_t timeout
0-300000 millisec [Default: 5000millisec]
uint32_t ipSlaVrfId
VRF-ID of the VRF to which the IPSLA ID is associated.
uint32_t ipSlaId
IP SLA operation number Range {1-128}.
open_error_t openapiIpSlaTrackIdCreate(openapiClientHandle_t *client_handle, uint32_t trackId, uint32_t ipSlaId, openIpSlaTrackTypes_t trackingType)
Create a Track object for the given track number.
open_error_t openapiIpSlaIpSlaIdOperStatusGet(openapiClientHandle_t *client_handle, uint32_t ipSlaId, OPEN_BOOL_t *isIpSlaEntryActive)
Get the operational status of the given IP SLA number.
open_error_t openapiIpSlaIpSlaIdDelete(openapiClientHandle_t *client_handle, uint32_t ipSlaId)
Delete an IP SLA operation for the given IP SLA number.
OPEN_BOOL_t inUse
OPEN_TRUE if this entry contains an IP-SLA Probe config info.
OPEN_BOOL_t overThresholdsOccurred
{OPEN_TRUE, OPEN_FALSE}.
uint32_t threshold
0-60000 millisec [Default: 5000millisec]
open_error_t openapiIpSlaSetTrackOjectsDelayUpTime(openapiClientHandle_t *client_handle, uint32_t trackId, uint32_t upDelayTime)
Set the given Track object's Up delay time value.
open_inet_addr_t srcIpAddr
SrcIP to be used for Probes in case SrcIntf configured for this IPSLA operation.
struct openIpSlaOperData_s openIpSlaOperData_t
IPSLA Track object configuration.
char vrfName[OPEN_VRF_MAX_NAME_LEN+1]
Optional.
OPEN_BOOL_t isIpSlaEntryActive
OPEN_TRUE,OPEN_FALSE}.
uint32_t lastProbeRTTvalue
in millisecs [Default: 0 ms]
open_error_t openapiIpSlaSetIpSlaProbesTimeout(openapiClientHandle_t *client_handle, uint32_t ipSlaId, uint32_t timeout)
Set the given IP SLA Operation's ICMP-ECHO Timeout value.
uint32_t trackId
Track object number.
openIpSlaTrackTypes_t trackingType
{reachability,state} [Default: reachability]
open_error_t openapiIpSlaTrackIdNodeCfgInfoGet(openapiClientHandle_t *client_handle, uint32_t trackId, openIpSlaTrackCfg_t *trackCfgInfo)
Get the config information of the given track number.
uint32_t numSuccesses
Count of Successful Probes (Return Code is 'OK').
open_error_t openapiIpSlaTrackIdTrackingStateGet(openapiClientHandle_t *client_handle, uint32_t trackId, OPEN_BOOL_t *isTrackStatusUp)
Get the tracking status of the given Track number.
open_error_t openapiIpSlaIpSlaIdCreate(openapiClientHandle_t *client_handle, uint32_t ipSlaId)
Create an IP SLA operation for the given IP SLA number.
open_error_t openapiIpSlaIpSlaStatisticsClear(openapiClientHandle_t *client_handle, uint32_t ipSlaId)
Clear IP SLA statistical information for given IP SLA operation or all IP SLAs.
open_error_t openapiIpSlaTrackIdDelete(openapiClientHandle_t *client_handle, uint32_t trackId)
Delete the Track object for the given track number.