Skip to content

Commit

Permalink
[syncd][vslib] Keep new warm boot discovered SERDES objects (#985)
Browse files Browse the repository at this point in the history
  • Loading branch information
kcudnik authored Feb 22, 2022
1 parent af5c156 commit edbceb9
Show file tree
Hide file tree
Showing 16 changed files with 336 additions and 66 deletions.
17 changes: 17 additions & 0 deletions syncd/ComparisonLogic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2333,6 +2333,7 @@ void ComparisonLogic::populateExistingObjects(

auto coldBootDiscoveredVids = m_switch->getColdBootDiscoveredVids();
auto warmBootDiscoveredVids = m_switch->getWarmBootDiscoveredVids();
auto warmBootNewDiscoveredVids = m_switch->getWarmBootNewDiscoveredVids();

/*
* If some objects that are existing objects on switch are not present in
Expand Down Expand Up @@ -2455,6 +2456,22 @@ void ComparisonLogic::populateExistingObjects(
}
}

if (warmBootNewDiscoveredVids.size())
{
// We have some new discovered VIDs after warm boot, we need to
// create temporary objects from them, so comparison logic will not
// get confused and will not remove them.
//
// TODO: there could be potential issue here, when user will remove
// one of the new discovered object in init view phase, then we
// can't put that object to DB, and it should be removed.

performColdCheck = false;

SWSS_LOG_NOTICE("creating and matching %zu new discovered WARM BOOT objects",
warmBootNewDiscoveredVids.size());
}

if (performColdCheck && coldBootDiscoveredVids.find(vid) == coldBootDiscoveredVids.end())
{
SWSS_LOG_INFO("object is not on default existing list: %s RID %s VID %s",
Expand Down
116 changes: 53 additions & 63 deletions syncd/SaiSwitch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ SaiSwitch::SaiSwitch(

helperLoadColdVids();

helperPopulateWarmBootVids();

if (getSwitchType() == SAI_SWITCH_TYPE_NPU)
{
saiGetMacAddress(m_default_mac_address);
Expand Down Expand Up @@ -899,46 +897,6 @@ sai_object_id_t SaiSwitch::getDefaultValueForOidAttr(
return ita->second;
}

void SaiSwitch::helperPopulateWarmBootVids()
{
SWSS_LOG_ENTER();

if (!m_warmBoot)
return;

SWSS_LOG_NOTICE("populate warm boot VIDs");

// It may happen, that after warm boot some new oids were discovered that
// were not present on warm shutdown, this may happen during vendor SAI
// update and for example introducing some new default objects on switch or
// queues on cpu. In this case, translator will create new VID/RID pair on
// database and local memory.

auto rid2vid = getRidToVidMap();

for (sai_object_id_t rid: m_discovered_rids)
{
sai_object_id_t vid = m_translator->translateRidToVid(rid, m_switch_vid);

m_warmBootDiscoveredVids.insert(vid);

if (rid2vid.find(rid) == rid2vid.end())
{
SWSS_LOG_NOTICE("spotted new RID %s (VID %s) on WARM BOOT",
sai_serialize_object_id(rid).c_str(),
sai_serialize_object_id(vid).c_str());

m_warmBootNewDiscoveredVids.insert(vid);

// this means that some new objects were discovered but they are
// not present in current ASIC_VIEW, and we need to create dummy
// entries for them

redisSetDummyAsicStateForRealObjectId(rid);
}
}
}

std::vector<uint32_t> SaiSwitch::saiGetPortLanes(
_In_ sai_object_id_t port_rid)
{
Expand Down Expand Up @@ -1088,6 +1046,21 @@ void SaiSwitch::collectPortRelatedObjects(
related.insert(objlist.begin(), objlist.end());
}

// treat port serdes as related object

sai_attribute_t attr;

attr.id = SAI_PORT_ATTR_PORT_SERDES_ID;

auto status = m_vendorSai->get(SAI_OBJECT_TYPE_PORT, portRid, 1, &attr);

if (status == SAI_STATUS_SUCCESS && attr.value.oid != SAI_NULL_OBJECT_ID)
{
// some platforms not support PORT SERDES, so get it only on success

related.insert(attr.value.oid);
}

SWSS_LOG_NOTICE("obtained %zu port %s related RIDs",
related.size(),
sai_serialize_object_id(portRid).c_str());
Expand Down Expand Up @@ -1165,44 +1138,61 @@ void SaiSwitch::checkWarmBootDiscoveredRids()
{
SWSS_LOG_ENTER();

/*
if (!m_warmBoot)
{
return;
}

SWSS_LOG_NOTICE("check warm boot RIDs");

/**
* It may happen, that after warm boot some new oids were discovered that
* were not present on warm shutdown, this may happen during vendor SAI
* update and for example introducing some new default objects on switch or
* queues on cpu. In this case, translator will create new VID/RID pair on
* database and local memory.
*
* After switch was created, rid discovery method was called, and all
* discovered RIDs should be present in current RID2VID map in redis
* database. If any RID is missing, then ether there is bug in vendor code,
* and after warm boot some RID values changed or we have a bug and forgot
* to put rid/vid pair to redis.
* database. If any RID is missing, then ether:
* - there is bug in vendor code and after warm boot some RID values changed
* - or we have a bug and forgot to put rid/vid pair to redis
* - or we new objects was actually introduced with new firmware like for
* example PORT_SERDES
*
* Assumption here is that during warm boot ASIC state will not change.
*/

auto rid2vid = getRidToVidMap();

bool success = true;

for (auto rid: getDiscoveredRids())
for (sai_object_id_t rid: getDiscoveredRids())
{
if (rid2vid.find(rid) != rid2vid.end())
continue;
sai_object_id_t vid = m_translator->translateRidToVid(rid, m_switch_vid);

m_warmBootDiscoveredVids.insert(vid);

auto ot = m_vendorSai->objectTypeQuery(rid);
if (rid2vid.find(rid) == rid2vid.end())
{
auto ot = m_vendorSai->objectTypeQuery(rid);

// SWSS_LOG_ERROR("RID %s (%s) is missing from current RID2VID map after WARM boot!",
SWSS_LOG_WARN("RID %s (%s) is missing from current RID2VID map after WARM boot!",
sai_serialize_object_id(rid).c_str(),
sai_serialize_object_type(ot).c_str());
SWSS_LOG_NOTICE("spotted new RID %s missing from current RID2VID (new VID %s) (%s) on WARM BOOT",
sai_serialize_object_id(rid).c_str(),
sai_serialize_object_id(vid).c_str(),
sai_serialize_object_type(ot).c_str());

// XXX workaround, put discovered object in database
m_warmBootNewDiscoveredVids.insert(vid);

redisSetDummyAsicStateForRealObjectId(rid);
// this means that some new objects were discovered but they are
// not present in current ASIC_VIEW, and we need to create dummy
// entries for them

success = false;
redisSetDummyAsicStateForRealObjectId(rid);
}
}

if (!success)
if (m_warmBootNewDiscoveredVids.size())
{
// XXX workaround
//SWSS_LOG_THROW("FATAL, some discovered RIDs are not present in current RID2VID map, bug");
SWSS_LOG_ERROR("FATAL, some discovered RIDs are not present in current RID2VID map, WORKAROUND, inserting them to ASIC_DB");
SWSS_LOG_NOTICE("discovered %zu new RIDs on WARM BOOT, new firmware? or bug", m_warmBootNewDiscoveredVids.size());
}

SWSS_LOG_NOTICE("all discovered RIDs are present in current RID2VID map for switch VID %s",
Expand Down
2 changes: 0 additions & 2 deletions syncd/SaiSwitch.h
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,6 @@ namespace syncd

void helperLoadColdVids();

void helperPopulateWarmBootVids();

/*
* Other Methods.
*/
Expand Down
46 changes: 46 additions & 0 deletions tests/BCM56850.pl
Original file line number Diff line number Diff line change
Expand Up @@ -705,8 +705,54 @@ sub test_buffer_profile_get
play "buffer_profile_get_B.rec";
}

sub test_brcm_warm_new_object_port_serdes
{
fresh_start;

play "empty_sw.rec";

print "port serdes objects in ASIC_DB: ";
print `redis-cli -n 1 keys "*_SERDES*" | wc -l`;

request_warm_shutdown;

# remove port serdes from asic db to simulate
# previous boot didn't contained serdes objects

print "port serdes entries (objects and attributes) in sai_warmboot.bin: ";
print `cat sai_warmboot.bin | grep _SERDES_| wc -l`;

print "removed port serdes objects from ASIC_DB: ";
print `redis-cli -n 1 --scan --pattern '*SERDES*' |xargs redis-cli -n 1 DEL`;

# need to handle rid2vid map

print "removed port serdes from VIDTORID map: ";
print `redis-cli -n 1 HKEYS VIDTORID |grep oid:0x5700 | xargs redis-cli -n 1 HDEL VIDTORID`;
print "removed remove serdes from RIDTOVID map: ";
print `redis-cli -n 1 HKEYS RIDTOVID |grep oid:0x5700 | xargs redis-cli -n 1 HDEL RIDTOVID`;

start_syncd_warm;

play "empty_sw.rec", 0;

print "check ASIC_DB for serdes\n";
print "RIDTOVID: ", `redis-cli -n 1 HKEYS RIDTOVID |grep oid:0x5700 |wc -l`;
print "VIDTORID: ", `redis-cli -n 1 HKEYS VIDTORID |grep oid:0x5700 |wc -l`;
print "ASIC_DB: ", `redis-cli -n 1 keys "*_SERDES*"| wc -l`;
}

sub test_remove_port_serdes
{
fresh_start;

play "test_remove_port_serdes.rec";
}

# RUN TESTS

test_remove_port_serdes;
test_brcm_warm_new_object_port_serdes;
test_buffer_profile_get;
test_multi_switch_key;
test_ignore_attributes;
Expand Down
3 changes: 3 additions & 0 deletions tests/BCM56850/remove_create_port.rec
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
2018-08-06.22:34:50.355829|G|SAI_STATUS_SUCCESS|SAI_BRIDGE_ATTR_PORT_LIST=32:oid:0x3a000000000002,oid:0x3a000000000003,oid:0x3a000000000004,oid:0x3a000000000005,oid:0x3a000000000006,oid:0x3a000000000007,oid:0x3a000000000008,oid:0x3a000000000009,oid:0x3a00000000000a,oid:0x3a00000000000b,oid:0x3a00000000000c,oid:0x3a00000000000d,oid:0x3a00000000000e,oid:0x3a00000000000f,oid:0x3a000000000010,oid:0x3a000000000011,oid:0x3a000000000012,oid:0x3a000000000013,oid:0x3a000000000014,oid:0x3a000000000015,oid:0x3a000000000016,oid:0x3a000000000017,oid:0x3a000000000018,oid:0x3a000000000019,oid:0x3a00000000001a,oid:0x3a00000000001b,oid:0x3a00000000001c,oid:0x3a00000000001d,oid:0x3a00000000001e,oid:0x3a00000000001f,oid:0x3a000000000020,oid:0x3a000000000021
2018-08-06.22:34:50.347983|r|SAI_OBJECT_TYPE_VLAN_MEMBER:oid:0x27000000000002
2018-08-06.22:34:50.360742|r|SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a000000000002
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002
2017-06-14.01:56:05.520538|g|SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000|SAI_SWITCH_ATTR_PORT_LIST=31:oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0
2017-06-14.01:56:05.525938|G|SAI_STATUS_SUCCESS|SAI_SWITCH_ATTR_PORT_LIST=31:oid:0x1000000000003,oid:0x1000000000004,oid:0x1000000000005,oid:0x1000000000006,oid:0x1000000000007,oid:0x1000000000008,oid:0x1000000000009,oid:0x100000000000a,oid:0x100000000000b,oid:0x100000000000c,oid:0x100000000000d,oid:0x100000000000e,oid:0x100000000000f,oid:0x1000000000010,oid:0x1000000000011,oid:0x1000000000012,oid:0x1000000000013,oid:0x1000000000014,oid:0x1000000000015,oid:0x1000000000016,oid:0x1000000000017,oid:0x1000000000018,oid:0x1000000000019,oid:0x100000000001a,oid:0x100000000001b,oid:0x100000000001c,oid:0x100000000001d,oid:0x100000000001e,oid:0x100000000001f,oid:0x1000000000020,oid:0x1000000000021
Expand Down
15 changes: 15 additions & 0 deletions tests/BCM56850/remove_port.rec
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,29 @@
2018-08-06.22:34:50.355829|G|SAI_STATUS_SUCCESS|SAI_BRIDGE_ATTR_PORT_LIST=32:oid:0x3a000000000002,oid:0x3a000000000003,oid:0x3a000000000004,oid:0x3a000000000005,oid:0x3a000000000006,oid:0x3a000000000007,oid:0x3a000000000008,oid:0x3a000000000009,oid:0x3a00000000000a,oid:0x3a00000000000b,oid:0x3a00000000000c,oid:0x3a00000000000d,oid:0x3a00000000000e,oid:0x3a00000000000f,oid:0x3a000000000010,oid:0x3a000000000011,oid:0x3a000000000012,oid:0x3a000000000013,oid:0x3a000000000014,oid:0x3a000000000015,oid:0x3a000000000016,oid:0x3a000000000017,oid:0x3a000000000018,oid:0x3a000000000019,oid:0x3a00000000001a,oid:0x3a00000000001b,oid:0x3a00000000001c,oid:0x3a00000000001d,oid:0x3a00000000001e,oid:0x3a00000000001f,oid:0x3a000000000020,oid:0x3a000000000021
2018-08-06.22:34:50.347983|r|SAI_OBJECT_TYPE_VLAN_MEMBER:oid:0x27000000000002
2018-08-06.22:34:50.360742|r|SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a000000000002
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002
2017-06-14.01:56:11.535437|c|SAI_OBJECT_TYPE_PORT:oid:0x1000000000022|SAI_PORT_ATTR_SPEED=10000|SAI_PORT_ATTR_HW_LANE_LIST=1:202
2017-06-14.01:56:11.535437|c|SAI_OBJECT_TYPE_PORT:oid:0x1000000000023|SAI_PORT_ATTR_SPEED=10000|SAI_PORT_ATTR_HW_LANE_LIST=1:203
2017-06-14.01:56:11.535437|c|SAI_OBJECT_TYPE_PORT:oid:0x1000000000024|SAI_PORT_ATTR_SPEED=10000|SAI_PORT_ATTR_HW_LANE_LIST=1:204
2017-06-14.01:56:11.535437|c|SAI_OBJECT_TYPE_PORT:oid:0x1000000000025|SAI_PORT_ATTR_SPEED=10000|SAI_PORT_ATTR_HW_LANE_LIST=1:205
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000022|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000022
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000023|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000023
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000024|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000024
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000025|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000025
2017-06-14.01:56:06.151337|a|APPLY_VIEW
2017-06-14.01:56:06.156740|A|SAI_STATUS_SUCCESS
20 changes: 20 additions & 0 deletions tests/BCM56850/test_remove_port_serdes.rec
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
2017-06-14.01:55:46.541806|#|recording on: ./sairedis.2017-06-14.01:55:46.541389.rec
2017-06-14.01:55:46.543987|a|INIT_VIEW
2017-06-14.01:55:46.551164|A|SAI_STATUS_SUCCESS
2017-06-14.01:55:46.555975|c|SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000|SAI_SWITCH_ATTR_INIT_SWITCH=true
2017-06-14.01:56:05.520538|g|SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000|SAI_SWITCH_ATTR_PORT_LIST=32:oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0
2017-06-14.01:56:05.525938|G|SAI_STATUS_SUCCESS|SAI_SWITCH_ATTR_PORT_LIST=32:oid:0x1000000000002,oid:0x1000000000003,oid:0x1000000000004,oid:0x1000000000005,oid:0x1000000000006,oid:0x1000000000007,oid:0x1000000000008,oid:0x1000000000009,oid:0x100000000000a,oid:0x100000000000b,oid:0x100000000000c,oid:0x100000000000d,oid:0x100000000000e,oid:0x100000000000f,oid:0x1000000000010,oid:0x1000000000011,oid:0x1000000000012,oid:0x1000000000013,oid:0x1000000000014,oid:0x1000000000015,oid:0x1000000000016,oid:0x1000000000017,oid:0x1000000000018,oid:0x1000000000019,oid:0x100000000001a,oid:0x100000000001b,oid:0x100000000001c,oid:0x100000000001d,oid:0x100000000001e,oid:0x100000000001f,oid:0x1000000000020,oid:0x1000000000021
2018-08-06.22:34:50.344893|g|SAI_OBJECT_TYPE_SWITCH:oid:0x21000000000000|SAI_SWITCH_ATTR_DEFAULT_1Q_BRIDGE_ID=oid:0x0|SAI_SWITCH_ATTR_DEFAULT_VLAN_ID=oid:0x0
2018-08-06.22:34:50.345605|G|SAI_STATUS_SUCCESS|SAI_SWITCH_ATTR_DEFAULT_1Q_BRIDGE_ID=oid:0x39000000000001|SAI_SWITCH_ATTR_DEFAULT_VLAN_ID=oid:0x26000000000001
2018-08-06.22:34:50.345660|g|SAI_OBJECT_TYPE_VLAN:oid:0x26000000000001|SAI_VLAN_ATTR_MEMBER_LIST=32:oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0
2018-08-06.22:34:50.347858|G|SAI_STATUS_SUCCESS|SAI_VLAN_ATTR_MEMBER_LIST=32:oid:0x27000000000002,oid:0x27000000000003,oid:0x27000000000004,oid:0x27000000000005,oid:0x27000000000006,oid:0x27000000000007,oid:0x27000000000008,oid:0x27000000000009,oid:0x2700000000000a,oid:0x2700000000000b,oid:0x2700000000000c,oid:0x2700000000000d,oid:0x2700000000000e,oid:0x2700000000000f,oid:0x27000000000010,oid:0x27000000000011,oid:0x27000000000012,oid:0x27000000000013,oid:0x27000000000014,oid:0x27000000000015,oid:0x27000000000016,oid:0x27000000000017,oid:0x27000000000018,oid:0x27000000000019,oid:0x2700000000001a,oid:0x2700000000001b,oid:0x2700000000001c,oid:0x2700000000001d,oid:0x2700000000001e,oid:0x2700000000001f,oid:0x27000000000020,oid:0x27000000000021
2018-08-06.22:34:50.351789|g|SAI_OBJECT_TYPE_BRIDGE:oid:0x39000000000001|SAI_BRIDGE_ATTR_PORT_LIST=32:oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0,oid:0x0
2018-08-06.22:34:50.355829|G|SAI_STATUS_SUCCESS|SAI_BRIDGE_ATTR_PORT_LIST=32:oid:0x3a000000000002,oid:0x3a000000000003,oid:0x3a000000000004,oid:0x3a000000000005,oid:0x3a000000000006,oid:0x3a000000000007,oid:0x3a000000000008,oid:0x3a000000000009,oid:0x3a00000000000a,oid:0x3a00000000000b,oid:0x3a00000000000c,oid:0x3a00000000000d,oid:0x3a00000000000e,oid:0x3a00000000000f,oid:0x3a000000000010,oid:0x3a000000000011,oid:0x3a000000000012,oid:0x3a000000000013,oid:0x3a000000000014,oid:0x3a000000000015,oid:0x3a000000000016,oid:0x3a000000000017,oid:0x3a000000000018,oid:0x3a000000000019,oid:0x3a00000000001a,oid:0x3a00000000001b,oid:0x3a00000000001c,oid:0x3a00000000001d,oid:0x3a00000000001e,oid:0x3a00000000001f,oid:0x3a000000000020,oid:0x3a000000000021
2018-08-06.22:34:50.347983|r|SAI_OBJECT_TYPE_VLAN_MEMBER:oid:0x27000000000002
2018-08-06.22:34:50.360742|r|SAI_OBJECT_TYPE_BRIDGE_PORT:oid:0x3a000000000002
2022-02-18.20:30:58.867607|g|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x0
2022-02-18.20:30:58.868642|G|SAI_STATUS_SUCCESS|SAI_PORT_ATTR_PORT_SERDES_ID=oid:0x570000000005a7
2022-02-18.20:30:58.868723|r|SAI_OBJECT_TYPE_PORT_SERDES:oid:0x570000000005a7
2017-06-14.01:56:11.535437|r|SAI_OBJECT_TYPE_PORT:oid:0x1000000000002
2017-06-14.01:56:06.151337|a|APPLY_VIEW
2017-06-14.01:56:06.156740|A|SAI_STATUS_SUCCESS
Loading

0 comments on commit edbceb9

Please sign in to comment.