25#if !defined (__SAINAT_H_)
387 _In_ uint32_t attr_count,
423 _In_ uint32_t attr_count,
456 _In_ uint32_t object_count,
458 _In_
const uint32_t *attr_count,
460 _In_ sai_bulk_op_error_mode_t mode,
461 _Out_ sai_status_t *object_statuses);
478 _In_ uint32_t object_count,
480 _In_ sai_bulk_op_error_mode_t mode,
481 _Out_ sai_status_t *object_statuses);
499 _In_ uint32_t object_count,
502 _In_ sai_bulk_op_error_mode_t mode,
503 _Out_ sai_status_t *object_statuses);
523 _In_ uint32_t object_count,
525 _In_
const uint32_t *attr_count,
527 _In_ sai_bulk_op_error_mode_t mode,
528 _Out_ sai_status_t *object_statuses);
636 _Out_ sai_object_id_t *nat_zone_counter_id,
637 _In_ sai_object_id_t switch_id,
638 _In_ uint32_t attr_count,
651 _In_ sai_object_id_t nat_zone_counter_id);
662 _In_ sai_object_id_t nat_zone_counter_id,
675 _In_ sai_object_id_t nat_zone_counter_id,
676 _In_ uint32_t attr_count,
sai_status_t(* sai_get_nat_entry_attribute_fn)(_In_ const sai_nat_entry_t *nat_entry, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get values for specified NAT entry attributes.
_sai_nat_event_t
NAT event type.
sai_status_t(* sai_set_nat_entry_attribute_fn)(_In_ const sai_nat_entry_t *nat_entry, _In_ const sai_attribute_t *attr)
Set NAT entry attribute value(s).
enum _sai_nat_entry_attr_t sai_nat_entry_attr_t
NAT Entry Attributes for Match.
sai_status_t(* sai_create_nat_zone_counter_fn)(_Out_ sai_object_id_t *nat_zone_counter_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a NAT zone counter object.
_sai_nat_entry_attr_t
NAT Entry Attributes for Match.
enum _sai_nat_zone_counter_attr_t sai_nat_zone_counter_attr_t
NAT zone counters for each NAT type.
sai_status_t(* sai_get_nat_zone_counter_attribute_fn)(_In_ sai_object_id_t nat_zone_counter_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get values for specified NAT zone counter attributes.
sai_status_t(* sai_bulk_set_nat_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_nat_entry_t *nat_entry, _In_ const sai_attribute_t *attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk set attribute on NAT entry.
struct _sai_nat_event_notification_data_t sai_nat_event_notification_data_t
Notification data format received from SAI NAT callback.
struct _sai_nat_api_t sai_nat_api_t
NAT API Router entry methods table retrieved with sai_api_query()
sai_status_t(* sai_remove_nat_entry_fn)(_In_ const sai_nat_entry_t *nat_entry)
Remove NAT entry.
sai_status_t(* sai_bulk_create_nat_entry_fn)(_In_ uint32_t object_count, _In_ const sai_nat_entry_t *nat_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 NAT entry.
sai_status_t(* sai_remove_nat_zone_counter_fn)(_In_ sai_object_id_t nat_zone_counter_id)
Deletes a specified NAT zone_counter object.
sai_status_t(* sai_bulk_get_nat_entry_attribute_fn)(_In_ uint32_t object_count, _In_ const sai_nat_entry_t *nat_entry, _In_ const uint32_t *attr_count, _Inout_ sai_attribute_t **attr_list, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk get attribute on NAT entry.
sai_status_t(* sai_set_nat_zone_counter_attribute_fn)(_In_ sai_object_id_t nat_zone_counter_id, _In_ const sai_attribute_t *attr)
Set NAT zone counter attribute value(s).
enum _sai_nat_type_t sai_nat_type_t
NAT Type.
struct _sai_nat_entry_t sai_nat_entry_t
NAT entry.
_sai_nat_zone_counter_attr_t
NAT zone counters for each NAT type.
enum _sai_nat_event_t sai_nat_event_t
NAT event type.
sai_status_t(* sai_create_nat_entry_fn)(_In_ const sai_nat_entry_t *nat_entry, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create and return a NAT object.
struct _sai_nat_entry_key_t sai_nat_entry_key_t
NAT entry keys API can be invoked with extra keys present. Driver MUST pick the right set of keys for...
void(* sai_nat_event_notification_fn)(_In_ uint32_t count, _In_ const sai_nat_event_notification_data_t *data)
NAT notifications.
struct _sai_nat_entry_mask_t sai_nat_entry_mask_t
NAT entry key masks.
sai_status_t(* sai_bulk_remove_nat_entry_fn)(_In_ uint32_t object_count, _In_ const sai_nat_entry_t *nat_entry, _In_ sai_bulk_op_error_mode_t mode, _Out_ sai_status_t *object_statuses)
Bulk remove NAT entry.
@ SAI_NAT_TYPE_SOURCE_NAT
@ SAI_NAT_TYPE_DOUBLE_NAT
@ SAI_NAT_TYPE_DESTINATION_NAT
@ SAI_NAT_TYPE_DESTINATION_NAT_POOL
@ SAI_NAT_ENTRY_ATTR_CUSTOM_RANGE_END
@ SAI_NAT_ENTRY_ATTR_L4_SRC_PORT
Replace L4 source port in packet.
@ SAI_NAT_ENTRY_ATTR_SRC_IP
Replace source IPv4 address in packet. NAT actions will be (source/destination/both is identified by ...
@ SAI_NAT_ENTRY_ATTR_CUSTOM_RANGE_START
@ SAI_NAT_ENTRY_ATTR_ENABLE_PACKET_COUNT
Enable/disable packet count.
@ SAI_NAT_ENTRY_ATTR_BYTE_COUNT
Per NAT entry byte count.
@ SAI_NAT_ENTRY_ATTR_DST_IP
Replace destination IPv4 address in packet. NAT actions will be (source/destination/both is identifie...
@ SAI_NAT_ENTRY_ATTR_L4_DST_PORT
Replace L4 destination port in packet.
@ SAI_NAT_ENTRY_ATTR_ENABLE_BYTE_COUNT
Enable/disable byte count.
@ SAI_NAT_ENTRY_ATTR_HIT_BIT_COR
NAT entry hit bit clear on read flag.
@ SAI_NAT_ENTRY_ATTR_VR_ID
Replace virtual router id associate with DST_IP NAT actions will be (source/destination/both is ident...
@ SAI_NAT_ENTRY_ATTR_AGING_TIME
NAT entry aging time in seconds.
@ SAI_NAT_ENTRY_ATTR_NAT_TYPE
NAT Type defined in sai_nat_type_t.
@ SAI_NAT_ENTRY_ATTR_HIT_BIT
Per NAT entry hit bit state.
@ SAI_NAT_ENTRY_ATTR_END
End of NAT Entry attributes.
@ SAI_NAT_ENTRY_ATTR_PACKET_COUNT
Per NAT entry packet count.
@ SAI_NAT_ENTRY_ATTR_SRC_IP_MASK
Mask for source IPv4 address in packet.
@ SAI_NAT_ENTRY_ATTR_DST_IP_MASK
Mask for destination IPv4 address in packet.
@ SAI_NAT_ENTRY_ATTR_START
Start of Attributes.
@ SAI_NAT_ZONE_COUNTER_ATTR_DISCARD_PACKET_COUNT
Discard packet count.
@ SAI_NAT_ZONE_COUNTER_ATTR_END
End of Attributes.
@ SAI_NAT_ZONE_COUNTER_ATTR_CUSTOM_RANGE_START
@ SAI_NAT_ZONE_COUNTER_ATTR_ZONE_ID
NAT Zone ID.
@ SAI_NAT_ZONE_COUNTER_ATTR_CUSTOM_RANGE_END
@ SAI_NAT_ZONE_COUNTER_ATTR_TRANSLATIONS_PACKET_COUNT
Translations performed packet count.
@ SAI_NAT_ZONE_COUNTER_ATTR_TRANSLATION_NEEDED_PACKET_COUNT
Translation needed packet count.
@ SAI_NAT_ZONE_COUNTER_ATTR_ENABLE_TRANSLATIONS
Enable/disable translations count.
@ SAI_NAT_ZONE_COUNTER_ATTR_START
Start of Attributes.
@ SAI_NAT_ZONE_COUNTER_ATTR_ENABLE_DISCARD
Enable/disable discard count.
@ SAI_NAT_ZONE_COUNTER_ATTR_ENABLE_TRANSLATION_NEEDED
Enable/disable translation needed count.
@ SAI_NAT_ZONE_COUNTER_ATTR_NAT_TYPE
NAT Type defined in sai_nat_type_t.
This module defines SAI portable types.
NAT API Router entry methods table retrieved with sai_api_query()
sai_create_nat_entry_fn create_nat_entry
SAI NAT API set.
sai_nat_entry_key_t key
NAT entry keys.
sai_nat_entry_mask_t mask
NAT entry keys.
NAT entry keys API can be invoked with extra keys present. Driver MUST pick the right set of keys for...
sai_uint16_t l4_dst_port
IP layer 4 destination port.
sai_ip4_t src_ip
IPv4 source address.
sai_ip4_t dst_ip
IPv4 destination address.
sai_uint16_t l4_src_port
IP layer 4 source port.
sai_uint8_t proto
IP protocol value.
sai_uint16_t l4_dst_port
IP layer 4 destination port mask.
sai_ip4_t dst_ip
IPv4 destination address mask.
sai_ip4_t src_ip
IPv4 source address mask.
sai_uint16_t l4_src_port
IP layer 4 source port mask.
sai_uint8_t proto
IP protocol mask.
sai_object_id_t switch_id
Switch ID.
sai_nat_entry_data_t data
NAT entry data.
sai_object_id_t vr_id
Virtual Router.
sai_nat_type_t nat_type
NAT entry type.
Notification data format received from SAI NAT callback.
sai_nat_event_t event_type
sai_nat_entry_t nat_entry