diff --git a/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md b/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md index 61ab7b478..0b1fdc89f 100644 --- a/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md +++ b/doc/TAM/SAI-Proposal-TAM-stream-telemetry.md @@ -32,7 +32,7 @@ - [Creating TAM counter subscription objects](#creating-tam-counter-subscription-objects) - [Creating TAM object](#creating-tam-object) - [Query IPFIX template](#query-ipfix-template) - - [Enable/Disable telemetry stream](#enabledisable-telemetry-stream) + - [Bound telemetry stream](#bound-telemetry-stream) - [Query stream telemetry capability](#query-stream-telemetry-capability) ## Revision @@ -420,7 +420,7 @@ erDiagram | HOSTIF_table_entry | Global | | TAM_transport | Global | | TAM_collector | Global | -| TAM | per STREAM_TELEMETRY profile | +| TAM | Global | | TAM_telemetry | per STREAM_TELEMETRY profile | | TAM_telemetry_type | per STREAM_TELEMETRY profile | | TAM_report | per STREAM_TELEMETRY profile | @@ -504,7 +504,7 @@ sai_attr_list[1].id = SAI_HOSTIF_USER_DEFINED_TRAP_ATTR_TRAP_GROUP; sai_attr_list[1].value.oid = sai_trap_group_obj; attr_count = 2; -sai_create_hostif_user_defined_trap_fn(&sai_hostif_udt_obj, switch_id, attr_count, sai_attr_list); +create_hostif_user_defined_trap(&sai_hostif_udt_obj, switch_id, attr_count, sai_attr_list); ``` @@ -525,7 +525,7 @@ sai_attr_list[3].id = SAI_HOSTIF_TABLE_ENTRY_ATTR_HOST_IF; sai_attr_list[3].value.oid = sai_hostif_obj; attr_count = 4; -sai_create_hostif_table_entry_fn(&sai_hostif_table_entry_obj, switch_id, attr_count, sai_attr_list); +create_hostif_table_entry(&sai_hostif_table_entry_obj, switch_id, attr_count, sai_attr_list); ``` @@ -536,7 +536,7 @@ sai_create_hostif_table_entry_fn(&sai_hostif_table_entry_obj, switch_id, attr_co sai_attr_list[0].id = SAI_TAM_TRANSPORT_ATTR_TRANSPORT_TYPE; sai_attr_list[0].value.s32 = SAI_TAM_TRANSPORT_TYPE_NONE; attr_count = 1; -sai_create_tam_transport_fn(&sai_tam_transport_obj, switch_id, attr_count, sai_attr_list); +create_tam_transport(&sai_tam_transport_obj, switch_id, attr_count, sai_attr_list); ``` @@ -557,7 +557,7 @@ sai_attr_list[3].id = SAI_TAM_COLLECTOR_ATTR_DSCP_VALUE; sai_attr_list[3].value.u8 = 0; attr_count = 4; -sai_create_tam_collector_fn(&sai_tam_collector_obj, switch_id, attr_count, sai_attr_list); +create_tam_collector(&sai_tam_collector_obj, switch_id, attr_count, sai_attr_list); ``` @@ -583,7 +583,7 @@ sai_attr_list[4].id = SAI_TAM_REPORT_ATTR_REPORT_INTERVAL_UNIT; sai_attr_list[4].value.s32 = SAI_TAM_REPORT_INTERVAL_UNIT_USEC; attr_count = 5; -sai_create_tam_report_fn(&sai_tam_report_obj, switch_id, attr_count, sai_attr_list); +create_tam_report(&sai_tam_report_obj, switch_id, attr_count, sai_attr_list); ``` @@ -607,7 +607,7 @@ sai_attr_list[3].id = SAI_TAM_TEL_TYPE_ATTR_REPORT_ID; sai_attr_list[3].value.oid = sai_tam_report_obj; attr_count = 4; -sai_create_tam_tel_type_fn(&sai_tam_tel_type_obj, switch_id, attr_count, sai_attr_list); +create_tam_tel_type(&sai_tam_tel_type_obj, switch_id, attr_count, sai_attr_list); ``` @@ -704,7 +704,7 @@ sai_attr_list[3].value.u32 = bulk_count; attr_count = 4; -sai_create_tam_telemetry_fn(&sai_tam_telemetry_obj, switch_id, attr_count, sai_attr_list); +create_tam_telemetry(&sai_tam_telemetry_obj, switch_id, attr_count, sai_attr_list); ``` @@ -776,9 +776,15 @@ create_tam_counter_subscription(&sai_tam_counter_subscription_obj, switch_id, at ``` c++ +vector telemetry_objs; +telemetry_objs.push_back(sai_tam_telemetry_obj); +// telemetry_objs.push_back(telemetry_obj_2); +// telemetry_objs.push_back(telemetry_obj_3); +// ... + sai_attr_list[0].id = SAI_TAM_ATTR_TELEMETRY_OBJECTS_LIST; -sai_attr_list[0].value.objlist.count = 1; -sai_attr_list[0].value.objlist.list[0] = sai_tam_telemetry_obj; +sai_attr_list[0].value.objlist.count = telemetry_objs.size(); +sai_attr_list[0].value.objlist.list = telemetry_objs.data(); sai_attr_list[1].id = SAI_TAM_ATTR_TAM_BIND_POINT_TYPE_LIST; sai_attr_list[1].value.objlist.count = 2; @@ -786,7 +792,7 @@ sai_attr_list[1].value.objlist.list[0] = SAI_TAM_BIND_POINT_TYPE_PORT; sai_attr_list[1].value.objlist.list[0] = SAI_TAM_BIND_POINT_TYPE_QUEUE; attr_count = 2; -sai_create_tam_fn(&sai_tam_obj, switch_id, attr_count, sai_attr_list); +create_tam(&sai_tam_obj, switch_id, attr_count, sai_attr_list); ``` @@ -831,7 +837,7 @@ get_tam_report_attribute(&sai_tam_report_obj, 1, &sai_attr_list); ``` -#### Enable/Disable telemetry stream +#### Bound telemetry stream ``` c++ @@ -850,11 +856,6 @@ get_switch_attribute(switch_id, 1, &sai_attr); sai_attr.value.oidlist[sai_attr.value.count] = sai_tam_obj; sai_attr.value.count++; -// Disable telemetry stream - -std::remove(sai_attr.value.oidlist, sai_attr.value.oidlist + sai_attr.value.count, sai_tam_obj); -sai_attr.value.count--; - set_switch_attribute(switch_id, sai_attr) ```