Skip to content

Commit

Permalink
Add basic DASH HA session APIs for concepts, state management and inl…
Browse files Browse the repository at this point in the history
…ine sync. (opencomputeproject#2007)

* [DASH]  Add basic DASH HA session APIs for concepts, state management and inline sync.
  • Loading branch information
r12f authored May 2, 2024
1 parent 6e1ddb5 commit 53bff25
Show file tree
Hide file tree
Showing 5 changed files with 739 additions and 0 deletions.
200 changes: 200 additions & 0 deletions experimental/saiexperimentaldasheni.h
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,17 @@ typedef enum _sai_eni_attr_t
*/
SAI_ENI_ATTR_ADMIN_STATE,

/**
* @brief Action set_eni_attrs parameter HA_SCOPE_ID
*
* @type sai_object_id_t
* @flags CREATE_AND_SET
* @objects SAI_OBJECT_TYPE_HA_SCOPE
* @allownull true
* @default SAI_NULL_OBJECT_ID
*/
SAI_ENI_ATTR_HA_SCOPE_ID,

/**
* @brief Action set_eni_attrs parameter VM_UNDERLAY_DIP
*
Expand Down Expand Up @@ -514,18 +525,207 @@ typedef enum _sai_eni_attr_t
*/
typedef enum _sai_eni_stat_t
{
/** DASH ENI RX_BYTES stat count */
SAI_ENI_STAT_RX_BYTES,

/** DASH ENI RX_PACKETS stat count */
SAI_ENI_STAT_RX_PACKETS,

/** DASH ENI TX_BYTES stat count */
SAI_ENI_STAT_TX_BYTES,

/** DASH ENI TX_PACKETS stat count */
SAI_ENI_STAT_TX_PACKETS,

/** DASH ENI OUTBOUND_RX_BYTES stat count */
SAI_ENI_STAT_OUTBOUND_RX_BYTES,

/** DASH ENI OUTBOUND_RX_PACKETS stat count */
SAI_ENI_STAT_OUTBOUND_RX_PACKETS,

/** DASH ENI OUTBOUND_TX_BYTES stat count */
SAI_ENI_STAT_OUTBOUND_TX_BYTES,

/** DASH ENI OUTBOUND_TX_PACKETS stat count */
SAI_ENI_STAT_OUTBOUND_TX_PACKETS,

/** DASH ENI INBOUND_RX_BYTES stat count */
SAI_ENI_STAT_INBOUND_RX_BYTES,

/** DASH ENI INBOUND_RX_PACKETS stat count */
SAI_ENI_STAT_INBOUND_RX_PACKETS,

/** DASH ENI INBOUND_TX_BYTES stat count */
SAI_ENI_STAT_INBOUND_TX_BYTES,

/** DASH ENI INBOUND_TX_PACKETS stat count */
SAI_ENI_STAT_INBOUND_TX_PACKETS,

/** DASH ENI LB_FAST_PATH_ICMP_IN_BYTES stat count */
SAI_ENI_STAT_LB_FAST_PATH_ICMP_IN_BYTES,

/** DASH ENI LB_FAST_PATH_ICMP_IN_PACKETS stat count */
SAI_ENI_STAT_LB_FAST_PATH_ICMP_IN_PACKETS,

/** DASH ENI FLOW_CREATED stat count */
SAI_ENI_STAT_FLOW_CREATED,

/** DASH ENI FLOW_CREATE_FAILED stat count */
SAI_ENI_STAT_FLOW_CREATE_FAILED,

/** DASH ENI FLOW_UPDATED stat count */
SAI_ENI_STAT_FLOW_UPDATED,

/** DASH ENI FLOW_UPDATE_FAILED stat count */
SAI_ENI_STAT_FLOW_UPDATE_FAILED,

/** DASH ENI FLOW_UPDATED_BY_RESIMULATION stat count */
SAI_ENI_STAT_FLOW_UPDATED_BY_RESIMULATION,

/** DASH ENI FLOW_UPDATE_BY_RESIMULATION_FAILED stat count */
SAI_ENI_STAT_FLOW_UPDATE_BY_RESIMULATION_FAILED,

/** DASH ENI FLOW_DELETED stat count */
SAI_ENI_STAT_FLOW_DELETED,

/** DASH ENI FLOW_DELETE_FAILED stat count */
SAI_ENI_STAT_FLOW_DELETE_FAILED,

/** DASH ENI FLOW_AGED stat count */
SAI_ENI_STAT_FLOW_AGED,

/** DASH ENI INLINE_SYNC_PACKET_RX_BYTES stat count */
SAI_ENI_STAT_INLINE_SYNC_PACKET_RX_BYTES,

/** DASH ENI INLINE_SYNC_PACKET_RX_PACKETS stat count */
SAI_ENI_STAT_INLINE_SYNC_PACKET_RX_PACKETS,

/** DASH ENI INLINE_SYNC_PACKET_TX_BYTES stat count */
SAI_ENI_STAT_INLINE_SYNC_PACKET_TX_BYTES,

/** DASH ENI INLINE_SYNC_PACKET_TX_PACKETS stat count */
SAI_ENI_STAT_INLINE_SYNC_PACKET_TX_PACKETS,

/** DASH ENI TIMED_SYNC_PACKET_RX_BYTES stat count */
SAI_ENI_STAT_TIMED_SYNC_PACKET_RX_BYTES,

/** DASH ENI TIMED_SYNC_PACKET_RX_PACKETS stat count */
SAI_ENI_STAT_TIMED_SYNC_PACKET_RX_PACKETS,

/** DASH ENI TIMED_SYNC_PACKET_TX_BYTES stat count */
SAI_ENI_STAT_TIMED_SYNC_PACKET_TX_BYTES,

/** DASH ENI TIMED_SYNC_PACKET_TX_PACKETS stat count */
SAI_ENI_STAT_TIMED_SYNC_PACKET_TX_PACKETS,

/** DASH ENI INLINE_FLOW_CREATE_REQ_SENT stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_REQ_SENT,

/** DASH ENI INLINE_FLOW_CREATE_REQ_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_REQ_RECV,

/** DASH ENI INLINE_FLOW_CREATE_REQ_FAILED stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_REQ_FAILED,

/** DASH ENI INLINE_FLOW_CREATE_ACK_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_ACK_RECV,

/** DASH ENI INLINE_FLOW_CREATE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_ACK_FAILED_RECV,

/** DASH ENI INLINE_FLOW_CREATE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_CREATE_ACK_IGNORED_RECV,

/** DASH ENI TIMED_FLOW_CREATE_REQ_SENT stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_REQ_SENT,

/** DASH ENI TIMED_FLOW_CREATE_REQ_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_REQ_RECV,

/** DASH ENI TIMED_FLOW_CREATE_REQ_FAILED stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_REQ_FAILED,

/** DASH ENI TIMED_FLOW_CREATE_ACK_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_ACK_RECV,

/** DASH ENI TIMED_FLOW_CREATE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_ACK_FAILED_RECV,

/** DASH ENI TIMED_FLOW_CREATE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_CREATE_ACK_IGNORED_RECV,

/** DASH ENI INLINE_FLOW_UPDATE_REQ_SENT stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_REQ_SENT,

/** DASH ENI INLINE_FLOW_UPDATE_REQ_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_REQ_RECV,

/** DASH ENI INLINE_FLOW_UPDATE_REQ_FAILED stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_REQ_FAILED,

/** DASH ENI INLINE_FLOW_UPDATE_ACK_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_ACK_RECV,

/** DASH ENI INLINE_FLOW_UPDATE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_ACK_FAILED_RECV,

/** DASH ENI INLINE_FLOW_UPDATE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_UPDATE_ACK_IGNORED_RECV,

/** DASH ENI TIMED_FLOW_UPDATE_REQ_SENT stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_REQ_SENT,

/** DASH ENI TIMED_FLOW_UPDATE_REQ_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_REQ_RECV,

/** DASH ENI TIMED_FLOW_UPDATE_REQ_FAILED stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_REQ_FAILED,

/** DASH ENI TIMED_FLOW_UPDATE_ACK_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_ACK_RECV,

/** DASH ENI TIMED_FLOW_UPDATE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_ACK_FAILED_RECV,

/** DASH ENI TIMED_FLOW_UPDATE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_UPDATE_ACK_IGNORED_RECV,

/** DASH ENI INLINE_FLOW_DELETE_REQ_SENT stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_REQ_SENT,

/** DASH ENI INLINE_FLOW_DELETE_REQ_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_REQ_RECV,

/** DASH ENI INLINE_FLOW_DELETE_REQ_FAILED stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_REQ_FAILED,

/** DASH ENI INLINE_FLOW_DELETE_ACK_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_ACK_RECV,

/** DASH ENI INLINE_FLOW_DELETE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_ACK_FAILED_RECV,

/** DASH ENI INLINE_FLOW_DELETE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_INLINE_FLOW_DELETE_ACK_IGNORED_RECV,

/** DASH ENI TIMED_FLOW_DELETE_REQ_SENT stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_REQ_SENT,

/** DASH ENI TIMED_FLOW_DELETE_REQ_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_REQ_RECV,

/** DASH ENI TIMED_FLOW_DELETE_REQ_FAILED stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_REQ_FAILED,

/** DASH ENI TIMED_FLOW_DELETE_ACK_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_ACK_RECV,

/** DASH ENI TIMED_FLOW_DELETE_ACK_FAILED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_ACK_FAILED_RECV,

/** DASH ENI TIMED_FLOW_DELETE_ACK_IGNORED_RECV stat count */
SAI_ENI_STAT_TIMED_FLOW_DELETE_ACK_IGNORED_RECV,

} sai_eni_stat_t;

/**
Expand Down
Loading

0 comments on commit 53bff25

Please sign in to comment.