SAI Metadata
Loading...
Searching...
No Matches
SAI - Extension specific API definitions

Classes

struct  _sai_outbound_routing_entry_t
 Entry for outbound_routing_entry. More...
 
struct  _sai_dash_outbound_routing_api_t
 

Typedefs

typedef enum _sai_outbound_routing_entry_action_t sai_outbound_routing_entry_action_t
 Attribute data for SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION.
 
typedef struct _sai_outbound_routing_entry_t sai_outbound_routing_entry_t
 Entry for outbound_routing_entry.
 
typedef enum _sai_outbound_routing_entry_attr_t sai_outbound_routing_entry_attr_t
 Attribute ID for dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_create_outbound_routing_entry_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_remove_outbound_routing_entry_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry)
 Remove dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_set_outbound_routing_entry_attribute_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ const sai_attribute_t *attr)
 Set attribute for dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_get_outbound_routing_entry_attribute_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get attribute for dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_bulk_create_outbound_routing_entry_fn) (_In_ uint32_t object_count, _In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
 Bulk create dash_outbound_routing_outbound_routing_entry.
 
typedef sai_status_t(* sai_bulk_remove_outbound_routing_entry_fn) (_In_ uint32_t object_count, _In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
 Bulk remove dash_outbound_routing_outbound_routing_entry.
 
typedef struct _sai_dash_outbound_routing_api_t sai_dash_outbound_routing_api_t
 

Enumerations

enum  _sai_outbound_routing_entry_action_t {
  SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET , SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET_DIRECT , SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_DIRECT , SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL ,
  SAI_OUTBOUND_ROUTING_ENTRY_ACTION_DROP
}
 Attribute data for SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION. More...
 
enum  _sai_outbound_routing_entry_attr_t {
  SAI_OUTBOUND_ROUTING_ENTRY_ATTR_START , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION = SAI_OUTBOUND_ROUTING_ENTRY_ATTR_START , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DST_VNET_ID , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_METER_POLICY_EN ,
  SAI_OUTBOUND_ROUTING_ENTRY_ATTR_METER_CLASS , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_IP , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_DIP , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_DIP_MASK ,
  SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_SIP , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_SIP_MASK , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_DIP , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP ,
  SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DASH_ENCAPSULATION , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_TUNNEL_KEY , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_COUNTER_ID , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_IP_ADDR_FAMILY ,
  SAI_OUTBOUND_ROUTING_ENTRY_ATTR_END , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_CUSTOM_RANGE_START = 0x10000000 , SAI_OUTBOUND_ROUTING_ENTRY_ATTR_CUSTOM_RANGE_END
}
 Attribute ID for dash_outbound_routing_outbound_routing_entry. More...
 

Detailed Description

Typedef Documentation

◆ sai_bulk_create_outbound_routing_entry_fn

typedef sai_status_t(* sai_bulk_create_outbound_routing_entry_fn) (_In_ uint32_t object_count, _In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ const uint32_t *attr_count, _In_ const sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)

Bulk create dash_outbound_routing_outbound_routing_entry.

Parameters
[in]object_countNumber of objects to create
[in]outbound_routing_entryList of object to create
[in]attr_countList of attr_count. Caller passes the number of attribute for each object to create.
[in]attr_listList of attributes for every object.
[in]modeBulk operation error handling mode.
[out]object_statusesList of status for every object. Caller needs to allocate the buffer
Returns
SAI_STATUS_SUCCESS on success when all objects are created or SAI_STATUS_FAILURE when any of the objects fails to create. When there is failure, Caller is expected to go through the list of returned statuses to find out which fails and which succeeds.

Definition at line 323 of file saiexperimentaldashoutboundrouting.h.

◆ sai_bulk_remove_outbound_routing_entry_fn

typedef sai_status_t(* sai_bulk_remove_outbound_routing_entry_fn) (_In_ uint32_t object_count, _In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)

Bulk remove dash_outbound_routing_outbound_routing_entry.

Parameters
[in]object_countNumber of objects to remove
[in]outbound_routing_entryList of objects to remove
[in]modeBulk operation error handling mode.
[out]object_statusesList of status for every object. Caller needs to allocate the buffer
Returns
SAI_STATUS_SUCCESS on success when all objects are removed or SAI_STATUS_FAILURE when any of the objects fails to remove. When there is failure, Caller is expected to go through the list of returned statuses to find out which fails and which succeeds.

Definition at line 345 of file saiexperimentaldashoutboundrouting.h.

◆ sai_create_outbound_routing_entry_fn

typedef sai_status_t(* sai_create_outbound_routing_entry_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create dash_outbound_routing_outbound_routing_entry.

Parameters
[in]outbound_routing_entryEntry
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success Failure status code on error

Definition at line 265 of file saiexperimentaldashoutboundrouting.h.

◆ sai_get_outbound_routing_entry_attribute_fn

typedef sai_status_t(* sai_get_outbound_routing_entry_attribute_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get attribute for dash_outbound_routing_outbound_routing_entry.

Parameters
[in]outbound_routing_entryEntry
[in]attr_countNumber of attributes
[in,out]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success Failure status code on error

Definition at line 301 of file saiexperimentaldashoutboundrouting.h.

◆ sai_remove_outbound_routing_entry_fn

typedef sai_status_t(* sai_remove_outbound_routing_entry_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry)

Remove dash_outbound_routing_outbound_routing_entry.

Parameters
[in]outbound_routing_entryEntry
Returns
SAI_STATUS_SUCCESS on success Failure status code on error

Definition at line 277 of file saiexperimentaldashoutboundrouting.h.

◆ sai_set_outbound_routing_entry_attribute_fn

typedef sai_status_t(* sai_set_outbound_routing_entry_attribute_fn) (_In_ const sai_outbound_routing_entry_t *outbound_routing_entry, _In_ const sai_attribute_t *attr)

Set attribute for dash_outbound_routing_outbound_routing_entry.

Parameters
[in]outbound_routing_entryEntry
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success Failure status code on error

Definition at line 288 of file saiexperimentaldashoutboundrouting.h.

Enumeration Type Documentation

◆ _sai_outbound_routing_entry_action_t

◆ _sai_outbound_routing_entry_attr_t

Attribute ID for dash_outbound_routing_outbound_routing_entry.

Enumerator
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_START 

Start of attributes.

SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION 

Action.

Value Type:
sai_outbound_routing_entry_action_t
Flags:
CREATE_AND_SET
Default value:
SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DST_VNET_ID 

Action route_vnet, route_vnet_direct parameter DST_VNET_ID.

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_VNET
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET_DIRECT
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_METER_POLICY_EN 

Action route_vnet, route_vnet_direct, route_direct, route_service_tunnel parameter METER_POLICY_EN.

Value Type:
bool
Flags:
CREATE_AND_SET
Default value:
false
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET_DIRECT or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_DIRECT or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_METER_CLASS 

Action route_vnet, route_vnet_direct, route_direct, route_service_tunnel parameter METER_CLASS.

Value Type:
sai_uint16_t
Flags:
CREATE_AND_SET
IsVlan:
false
Default value:
0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET_DIRECT or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_DIRECT or SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_IP 

Action route_vnet_direct parameter OVERLAY_IP.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_VNET_DIRECT
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_DIP 

Action route_service_tunnel parameter OVERLAY_DIP.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_DIP_MASK 

Action route_service_tunnel parameter OVERLAY_DIP_MASK.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_SIP 

Action route_service_tunnel parameter OVERLAY_SIP.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_OVERLAY_SIP_MASK 

Action route_service_tunnel parameter OVERLAY_SIP_MASK.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_DIP 

Action route_service_tunnel parameter UNDERLAY_DIP.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP 

Action route_service_tunnel parameter UNDERLAY_SIP.

Value Type:
sai_ip_address_t
Flags:
CREATE_AND_SET
Default value:
0.0.0.0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_DASH_ENCAPSULATION 

Action route_service_tunnel parameter DASH_ENCAPSULATION.

Value Type:
sai_dash_encapsulation_t
Flags:
CREATE_AND_SET
Default value:
SAI_DASH_ENCAPSULATION_VXLAN
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_TUNNEL_KEY 

Action route_service_tunnel parameter TUNNEL_KEY.

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
Valid only when:
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_ACTION == SAI_OUTBOUND_ROUTING_ENTRY_ACTION_ROUTE_SERVICE_TUNNEL
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_COUNTER_ID 

Attach a counter.

When it is empty, then packet hits won't be counted

Value Type:
sai_object_id_t
Flags:
CREATE_AND_SET
Allowed object types
SAI_OBJECT_TYPE_COUNTER
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_IP_ADDR_FAMILY 

IP address family for resource accounting.

Value Type:
sai_ip_addr_family_t
Flags:
READ_ONLY
IsResourceType:
true
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_END 

End of attributes.

SAI_OUTBOUND_ROUTING_ENTRY_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_OUTBOUND_ROUTING_ENTRY_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 82 of file saiexperimentaldashoutboundrouting.h.