BRCM_SAI_FUNCTION_ENTER(SAI_API_MIRROR); BRCM_SAI_SWITCH_INIT_CHECK; if (BRCM_SAI_CHK_OBJ_MISMATCH(session_id, SAI_OBJECT_TYPE_MIRROR_SESSION)) { BRCM_SAI_LOG_MIRROR(SAI_LOG_LEVEL_ERROR, "Invalid mirror session object 0x%16lx passed\n", session_id); return SAI_STATUS_INVALID_OBJECT_TYPE; }
时间: 2023-10-09 19:11:20 浏览: 83
这段代码看起来是在一个SAI API函数中进行一些参数检查,主要是对于输入的mirror session对象的类型进行检查,如果不是SAI_OBJECT_TYPE_MIRROR_SESSION类型,则会返回SAI_STATUS_INVALID_OBJECT_TYPE错误。同时,BRCM_SAI_SWITCH_INIT_CHECK可能是一个检查switch是否初始化的宏定义。BRCM_SAI_LOG_MIRROR可能是一个记录日志的宏定义。
相关问题
#ifndef BRCM_SAI_MIRROR_MTP_COUNT #define BRCM_SAI_MIRROR_MTP_COUNT (_BRCM_SAI_MAX_MIRROR_SESSIONS/2) #endif
这段代码定义了一个宏BRCM_SAI_MIRROR_MTP_COUNT,如果在之前没有被定义过,则将其定义为一个表达式(_BRCM_SAI_MAX_MIRROR_SESSIONS/2)。其中_BRCM_SAI_MAX_MIRROR_SESSIONS可能是另一个宏定义,表示最大的mirror session数量。这个宏的作用可能是用于分配mirror to port的数组长度。
STATIC sai_status_t brcm_sai_create_mirror_session(_Out_ sai_object_id_t *session_id, _In_ sai_object_id_t switch_id, _In_ uint32_t attr_count, _In_ const sai_attribute_t *attr_list) { return _brcm_sai_create_mirror_session(session_id, attr_count, attr_list); }
这段代码是什么意思?
这段代码是一个函数,用于创建一个镜像会话并返回镜像会话ID。它接受三个参数:switch_id,attr_count和attr_list,其中switch_id是镜像会话所在的交换机的ID,attr_count是镜像会话属性列表中属性的数量,attr_list是属性列表。函数返回一个sai_status_t类型的值,表示创建镜像会话的状态。
阅读全文