diff --git a/meta/Meta.cpp b/meta/Meta.cpp index 923857ae5..b3871e223 100644 --- a/meta/Meta.cpp +++ b/meta/Meta.cpp @@ -1786,8 +1786,11 @@ sai_status_t Meta::objectTypeGetAvailability( PARAMETER_CHECK_OID_OBJECT_TYPE(switchId, SAI_OBJECT_TYPE_SWITCH); PARAMETER_CHECK_OID_EXISTS(switchId, SAI_OBJECT_TYPE_SWITCH); PARAMETER_CHECK_OBJECT_TYPE_VALID(objectType); - PARAMETER_CHECK_POSITIVE(attrCount); - PARAMETER_CHECK_IF_NOT_NULL(attrList); + // When checking availability of a resource solely based on OBJECT_TYPE, attrCount is 0 + if (attrCount) + { + PARAMETER_CHECK_IF_NOT_NULL(attrList); + } PARAMETER_CHECK_IF_NOT_NULL(count); auto info = sai_metadata_get_object_type_info(objectType); diff --git a/vslib/src/VirtualSwitchSaiInterface.cpp b/vslib/src/VirtualSwitchSaiInterface.cpp index 8b70171c8..24577800d 100644 --- a/vslib/src/VirtualSwitchSaiInterface.cpp +++ b/vslib/src/VirtualSwitchSaiInterface.cpp @@ -817,6 +817,11 @@ sai_status_t VirtualSwitchSaiInterface::objectTypeGetAvailability( *count = 3; return SAI_STATUS_SUCCESS; } + else if (objectType == SAI_OBJECT_TYPE_INSEG_ENTRY) + { + *count = 1000; + return SAI_STATUS_SUCCESS; + } return SAI_STATUS_NOT_SUPPORTED; }