SAI Metadata
Loading...
Searching...
No Matches
saimymac.h File Reference

This module defines SAI My MAC. More...

#include <saitypes.h>

Go to the source code of this file.

Classes

struct  _sai_my_mac_api_t
 My MAC methods table retrieved with sai_api_query() More...
 

Typedefs

typedef enum _sai_my_mac_attr_t sai_my_mac_attr_t
 My MAC entry attribute IDs.
 
typedef sai_status_t(* sai_create_my_mac_fn) (_Out_ sai_object_id_t *my_mac_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)
 Create My MAC entry.
 
typedef sai_status_t(* sai_remove_my_mac_fn) (_In_ sai_object_id_t my_mac_id)
 Remove My MAC entry.
 
typedef sai_status_t(* sai_set_my_mac_attribute_fn) (_In_ sai_object_id_t my_mac_id, _In_ const sai_attribute_t *attr)
 Set My MAC entry attribute.
 
typedef sai_status_t(* sai_get_my_mac_attribute_fn) (_In_ sai_object_id_t my_mac_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)
 Get My MAC entry attribute.
 
typedef struct _sai_my_mac_api_t sai_my_mac_api_t
 My MAC methods table retrieved with sai_api_query()
 

Enumerations

enum  _sai_my_mac_attr_t {
  SAI_MY_MAC_ATTR_START , SAI_MY_MAC_ATTR_PRIORITY = SAI_MY_MAC_ATTR_START , SAI_MY_MAC_ATTR_PORT_ID , SAI_MY_MAC_ATTR_VLAN_ID ,
  SAI_MY_MAC_ATTR_MAC_ADDRESS , SAI_MY_MAC_ATTR_MAC_ADDRESS_MASK , SAI_MY_MAC_ATTR_END , SAI_MY_MAC_ATTR_CUSTOM_RANGE_START = 0x10000000 ,
  SAI_MY_MAC_ATTR_CUSTOM_RANGE_END
}
 My MAC entry attribute IDs. More...
 

Detailed Description

This module defines SAI My MAC.

Copyright (c) 2014 Microsoft Open Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

THIS CODE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT.

See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.

Microsoft would like to thank the following companies for their review and assistance with these files: Intel Corporation, Mellanox Technologies Ltd, Dell Products, L.P., Facebook, Inc., Marvell International Ltd.

Definition in file saimymac.h.

Typedef Documentation

◆ sai_create_my_mac_fn

typedef sai_status_t(* sai_create_my_mac_fn) (_Out_ sai_object_id_t *my_mac_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list)

Create My MAC entry.

Parameters
[out]my_mac_idMy MAC id
[in]switch_idSwitch id
[in]attr_countNumber of attributes
[in]attr_listArray of attributes
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 118 of file saimymac.h.

◆ sai_get_my_mac_attribute_fn

typedef sai_status_t(* sai_get_my_mac_attribute_fn) (_In_ sai_object_id_t my_mac_id, _In_ uint32_t attr_count, _Inout_ sai_attribute_t *attr_list)

Get My MAC entry attribute.

Parameters
[in]my_mac_idMy MAC id
[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 155 of file saimymac.h.

◆ sai_remove_my_mac_fn

typedef sai_status_t(* sai_remove_my_mac_fn) (_In_ sai_object_id_t my_mac_id)

Remove My MAC entry.

Parameters
[in]my_mac_idMy MAC Id
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 131 of file saimymac.h.

◆ sai_set_my_mac_attribute_fn

typedef sai_status_t(* sai_set_my_mac_attribute_fn) (_In_ sai_object_id_t my_mac_id, _In_ const sai_attribute_t *attr)

Set My MAC entry attribute.

Parameters
[in]my_mac_idMy MAC id
[in]attrAttribute
Returns
SAI_STATUS_SUCCESS on success, failure status code on error

Definition at line 142 of file saimymac.h.

Enumeration Type Documentation

◆ _sai_my_mac_attr_t

My MAC entry attribute IDs.

Enumerator
SAI_MY_MAC_ATTR_START 

Start of attributes.

SAI_MY_MAC_ATTR_PRIORITY 

Priority.

Value must be in the range defined in [SAI_SWITCH_ATTR_MY_MAC_TABLE_MINIMUM_PRIORITY, SAI_SWITCH_ATTR_MY_MAC_TABLE_MAXIMUM_PRIORITY] (default = SAI_SWITCH_ATTR_MY_MAC_TABLE_MINIMUM_PRIORITY)

Value Type:
sai_uint32_t
Flags:
CREATE_AND_SET
Default value:
0
SAI_MY_MAC_ATTR_PORT_ID 

Associated Port, LAG object id, if not specified any port will match.

Value Type:
sai_object_id_t
Flags:
CREATE_ONLY
Allowed object types
SAI_OBJECT_TYPE_PORT, SAI_OBJECT_TYPE_LAG
Allows NULL object ID
true
Default value:
SAI_NULL_OBJECT_ID
SAI_MY_MAC_ATTR_VLAN_ID 

Associated Vlan Id, if not specified any vlan id will match.

Value Type:
sai_uint16_t
Flags:
CREATE_ONLY
IsVlan:
true
Default value:
0
SAI_MY_MAC_ATTR_MAC_ADDRESS 

MAC Address.

Value Type:
sai_mac_t
Flags:
CREATE_ONLY
Default value:
vendor
SAI_MY_MAC_ATTR_MAC_ADDRESS_MASK 

MAC Address Mask.

Value Type:
sai_mac_t
Flags:
CREATE_ONLY
Default value:
vendor
SAI_MY_MAC_ATTR_END 

End of attributes.

SAI_MY_MAC_ATTR_CUSTOM_RANGE_START 

Custom range base value

SAI_MY_MAC_ATTR_CUSTOM_RANGE_END 

End of custom range base

Definition at line 33 of file saimymac.h.