25#if !defined (__SAIHASH_H_)
303 _Out_ sai_object_id_t *fine_grained_hash_field_id,
304 _In_ sai_object_id_t switch_id,
305 _In_ uint32_t attr_count,
316 _In_ sai_object_id_t fine_grained_hash_field_id);
327 _In_ sai_object_id_t fine_grained_hash_field_id,
340 _In_ sai_object_id_t fine_grained_hash_field_id,
341 _In_ uint32_t attr_count,
355 _Out_ sai_object_id_t *hash_id,
356 _In_ sai_object_id_t switch_id,
357 _In_ uint32_t attr_count,
368 _In_ sai_object_id_t hash_id);
379 _In_ sai_object_id_t hash_id,
392 _In_ sai_object_id_t hash_id,
393 _In_ uint32_t attr_count,
sai_status_t(* sai_create_fine_grained_hash_field_fn)(_Out_ sai_object_id_t *fine_grained_hash_field_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create fine-grained hash field.
sai_status_t(* sai_get_hash_attribute_fn)(_In_ sai_object_id_t hash_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get hash attribute value.
sai_status_t(* sai_remove_hash_fn)(_In_ sai_object_id_t hash_id)
Remove hash.
sai_status_t(* sai_create_hash_fn)(_Out_ sai_object_id_t *hash_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
Create hash.
enum _sai_fine_grained_hash_field_attr_t sai_fine_grained_hash_field_attr_t
Fine-grained hash field attribute IDs.
sai_status_t(* sai_get_fine_grained_hash_field_attribute_fn)(_In_ sai_object_id_t fine_grained_hash_field_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
Get fine-grained hash field attribute value.
enum _sai_hash_attr_t sai_hash_attr_t
Hash attribute IDs.
struct _sai_hash_api_t sai_hash_api_t
Hash methods, retrieved via sai_api_query()
sai_status_t(* sai_set_hash_attribute_fn)(_In_ sai_object_id_t hash_id, _In_ const sai_attribute_t *attr)
Set hash attribute.
_sai_fine_grained_hash_field_attr_t
Fine-grained hash field attribute IDs.
sai_status_t(* sai_set_fine_grained_hash_field_attribute_fn)(_In_ sai_object_id_t fine_grained_hash_field_id, _In_ const sai_attribute_t *attr)
Set fine-grained hash field attribute.
_sai_hash_attr_t
Hash attribute IDs.
sai_status_t(* sai_remove_fine_grained_hash_field_fn)(_In_ sai_object_id_t fine_grained_hash_field_id)
Remove fine-grained hash field.
_sai_native_hash_field_t
Attribute data for SAI native hash fields.
enum _sai_native_hash_field_t sai_native_hash_field_t
Attribute data for SAI native hash fields.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_IPV6_MASK
Mask for a IPv6 address.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_START
Start of attributes.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_IPV4_MASK
Mask for a IPv4 address.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_END
End of attributes.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_CUSTOM_RANGE_START
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_CUSTOM_RANGE_END
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_SEQUENCE_ID
Optional field ordering.
@ SAI_FINE_GRAINED_HASH_FIELD_ATTR_NATIVE_HASH_FIELD
Hash native field ID.
@ SAI_HASH_ATTR_NATIVE_HASH_FIELD_LIST
Hash native fields.
@ SAI_HASH_ATTR_FINE_GRAINED_HASH_FIELD_LIST
Hash fine-grained field list.
@ SAI_HASH_ATTR_START
Start of attributes.
@ SAI_HASH_ATTR_CUSTOM_RANGE_END
@ SAI_HASH_ATTR_END
End of attributes.
@ SAI_HASH_ATTR_UDF_GROUP_LIST
Hash UDF group.
@ SAI_HASH_ATTR_CUSTOM_RANGE_START
@ SAI_NATIVE_HASH_FIELD_SRC_MAC
@ SAI_NATIVE_HASH_FIELD_L4_DST_PORT
@ SAI_NATIVE_HASH_FIELD_NONE
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_0
@ SAI_NATIVE_HASH_FIELD_ETHERTYPE
@ SAI_NATIVE_HASH_FIELD_INNER_DST_MAC
@ SAI_NATIVE_HASH_FIELD_INNER_SRC_IPV4
@ SAI_NATIVE_HASH_FIELD_INNER_IP_PROTOCOL
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_1
@ SAI_NATIVE_HASH_FIELD_SRC_IPV6
Native hash field source IPv6.
@ SAI_NATIVE_HASH_FIELD_DST_IPV6
Native hash field destination IPv6.
@ SAI_NATIVE_HASH_FIELD_INNER_DST_IPV6
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_2
@ SAI_NATIVE_HASH_FIELD_IN_PORT
@ SAI_NATIVE_HASH_FIELD_INNER_L4_SRC_PORT
@ SAI_NATIVE_HASH_FIELD_INNER_DST_IP
@ SAI_NATIVE_HASH_FIELD_L4_SRC_PORT
@ SAI_NATIVE_HASH_FIELD_DST_IPV4
Native hash field destination IPv4.
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_3
@ SAI_NATIVE_HASH_FIELD_VLAN_ID
@ SAI_NATIVE_HASH_FIELD_DST_IP
Native hash field destination IP.
@ SAI_NATIVE_HASH_FIELD_INNER_L4_DST_PORT
@ SAI_NATIVE_HASH_FIELD_INNER_DST_IPV4
@ SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL
@ SAI_NATIVE_HASH_FIELD_INNER_SRC_IPV6
@ SAI_NATIVE_HASH_FIELD_SRC_IP
Native hash field source IP.
@ SAI_NATIVE_HASH_FIELD_IP_PROTOCOL
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_4
@ SAI_NATIVE_HASH_FIELD_SRC_IPV4
Native hash field source IPv4.
@ SAI_NATIVE_HASH_FIELD_INNER_SRC_MAC
@ SAI_NATIVE_HASH_FIELD_DST_MAC
@ SAI_NATIVE_HASH_FIELD_MPLS_LABEL_ALL
@ SAI_NATIVE_HASH_FIELD_INNER_SRC_IP
@ SAI_NATIVE_HASH_FIELD_INNER_ETHERTYPE
This module defines SAI portable types.
Hash methods, retrieved via sai_api_query()