SAI Metadata
All Classes Files Functions Variables Typedefs Enumerations Enumerator Modules
saistatus.h File Reference

This module defines SAI Status codes. More...

Go to the source code of this file.

Macros

#define SAI_STATUS_CODE(_S_)   (-(_S_))
 Any mapping schema from S to error codes convenient on *nix can be used.
 
#define SAI_STATUS_SUCCESS   0x00000000L
 Status success.
 
#define SAI_STATUS_FAILURE   SAI_STATUS_CODE(0x00000001L)
 General failure.
 
#define SAI_STATUS_NOT_SUPPORTED   SAI_STATUS_CODE(0x00000002L)
 The request is not supported.
 
#define SAI_STATUS_NO_MEMORY   SAI_STATUS_CODE(0x00000003L)
 Not enough memory to complete the operation.
 
#define SAI_STATUS_INSUFFICIENT_RESOURCES   SAI_STATUS_CODE(0x00000004L)
 Insufficient system resources exist to complete the operation.
 
#define SAI_STATUS_INVALID_PARAMETER   SAI_STATUS_CODE(0x00000005L)
 An invalid parameter was passed to a function.
 
#define SAI_STATUS_ITEM_ALREADY_EXISTS   SAI_STATUS_CODE(0x00000006L)
 An item already exists. For example, create a route which already exists.
 
#define SAI_STATUS_ITEM_NOT_FOUND   SAI_STATUS_CODE(0x00000007L)
 An item was not found. For example, remove a route which does not exist.
 
#define SAI_STATUS_BUFFER_OVERFLOW   SAI_STATUS_CODE(0x00000008L)
 The data was too large to fit into the specified buffer.
 
#define SAI_STATUS_INVALID_PORT_NUMBER   SAI_STATUS_CODE(0x00000009L)
 Invalid port number.
 
#define SAI_STATUS_INVALID_PORT_MEMBER   SAI_STATUS_CODE(0x0000000AL)
 Invalid port member.
 
#define SAI_STATUS_INVALID_VLAN_ID   SAI_STATUS_CODE(0x0000000BL)
 Invalid VLAN id.
 
#define SAI_STATUS_UNINITIALIZED   SAI_STATUS_CODE(0x0000000CL)
 Object is uninitialized.
 
#define SAI_STATUS_TABLE_FULL   SAI_STATUS_CODE(0x0000000DL)
 Table is full.
 
#define SAI_STATUS_MANDATORY_ATTRIBUTE_MISSING   SAI_STATUS_CODE(0x0000000EL)
 Mandatory attribute is missing.
 
#define SAI_STATUS_NOT_IMPLEMENTED   SAI_STATUS_CODE(0x0000000FL)
 Function is not implemented.
 
#define SAI_STATUS_ADDR_NOT_FOUND   SAI_STATUS_CODE(0x00000010L)
 Address not found.
 
#define SAI_STATUS_OBJECT_IN_USE   SAI_STATUS_CODE(0x00000011L)
 SAI Object is in use.
 
#define SAI_STATUS_INVALID_OBJECT_TYPE   SAI_STATUS_CODE(0x00000012L)
 Invalid SAI Object type passed to a function.
 
#define SAI_STATUS_INVALID_OBJECT_ID   SAI_STATUS_CODE(0x00000013L)
 Invalid SAI Object ID passed to a function.
 
#define SAI_STATUS_INVALID_NV_STORAGE   SAI_STATUS_CODE(0x00000014L)
 The NV storage used is either invalid or corrupt. (rv for initialize_switch())
 
#define SAI_STATUS_NV_STORAGE_FULL   SAI_STATUS_CODE(0x00000015L)
 The NV storage is full. (rv for shutdown_switch())
 
#define SAI_STATUS_SW_UPGRADE_VERSION_MISMATCH   SAI_STATUS_CODE(0x00000016L)
 Version mismatch in case of Inservice upgrade (rv for initialize_switch())
 
#define SAI_STATUS_NOT_EXECUTED   SAI_STATUS_CODE(0x00000017L)
 Operation not executed.
 
#define SAI_STATUS_STAGE_MISMATCH   SAI_STATUS_CODE(0x00000018L)
 Object pipeline stage mismatch.
 
#define SAI_STATUS_INVALID_ATTRIBUTE_0   SAI_STATUS_CODE(0x00010000L)
 Attribute is invalid.
 
#define SAI_STATUS_INVALID_ATTRIBUTE_MAX   SAI_STATUS_CODE(0x0001FFFFL)
 End of invalid attribute range.
 
#define SAI_STATUS_INVALID_ATTR_VALUE_0   SAI_STATUS_CODE(0x00020000L)
 Invalid attribute value.
 
#define SAI_STATUS_INVALID_ATTR_VALUE_MAX   SAI_STATUS_CODE(0x0002FFFFL)
 End of invalid attribute value range.
 
#define SAI_STATUS_ATTR_NOT_IMPLEMENTED_0   SAI_STATUS_CODE(0x00030000L)
 Attribute is not implemented.
 
#define SAI_STATUS_ATTR_NOT_IMPLEMENTED_MAX   SAI_STATUS_CODE(0x0003FFFFL)
 End of not implemented range.
 
#define SAI_STATUS_UNKNOWN_ATTRIBUTE_0   SAI_STATUS_CODE(0x00040000L)
 Attribute is unknown.
 
#define SAI_STATUS_UNKNOWN_ATTRIBUTE_MAX   SAI_STATUS_CODE(0x0004FFFFL)
 End of unknown attribute range.
 
#define SAI_STATUS_ATTR_NOT_SUPPORTED_0   SAI_STATUS_CODE(0x00050000L)
 Attribute is not supported.
 
#define SAI_STATUS_ATTR_NOT_SUPPORTED_MAX   SAI_STATUS_CODE(0x0005FFFFL)
 End of attribute not supported range.
 
#define SAI_STATUS_IS_INVALID_ATTRIBUTE(x)   (((x) & (~0xFFFF)) == SAI_STATUS_INVALID_ATTRIBUTE_0)
 Is invalid attribute helper.
 
#define SAI_STATUS_IS_INVALID_ATTR_VALUE(x)   (((x) & (~0xFFFF)) == SAI_STATUS_INVALID_ATTR_VALUE_0)
 Is invalid attribute value helper.
 
#define SAI_STATUS_IS_ATTR_NOT_IMPLEMENTED(x)   (((x) & (~0xFFFF)) == SAI_STATUS_ATTR_NOT_IMPLEMENTED_0)
 Is attribute not implemented helper.
 
#define SAI_STATUS_IS_UNKNOWN_ATTRIBUTE(x)   (((x) & (~0xFFFF)) == SAI_STATUS_INVALID_ATTRIBUTE_0)
 Is unknown attribute helper.
 
#define SAI_STATUS_IS_ATTR_NOT_SUPPORTED(x)   (((x) & (~0xFFFF)) == SAI_STATUS_ATTR_NOT_SUPPORTED_0)
 Is attribute not supported helper.
 

Detailed Description

This module defines SAI Status codes.

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 saistatus.h.