diff --git a/orchagent/portsorch.cpp b/orchagent/portsorch.cpp index ce6f117f7d..694644e94e 100755 --- a/orchagent/portsorch.cpp +++ b/orchagent/portsorch.cpp @@ -457,6 +457,7 @@ PortsOrch::PortsOrch(DBConnector *db, DBConnector *stateDb, vectorfirst) == m_availablePortSet.end()) + bool lane_set_is_available = true; + for (auto lane: it->first) + { + if (m_availableLanes.find(lane) == m_availableLanes.end()) + { + lane_set_is_available = false; + break; + } + } + if (!lane_set_is_available) { string tmp_lane_str = ""; for (auto s : it->first) diff --git a/orchagent/portsorch.h b/orchagent/portsorch.h index 60dbc381a8..f0eb64953f 100755 --- a/orchagent/portsorch.h +++ b/orchagent/portsorch.h @@ -213,11 +213,9 @@ class PortsOrch : public Orch, public Subject port_config_state_t m_portConfigState = PORT_CONFIG_MISSING; sai_uint32_t m_portCount; - // m_portListLaneMap is the current enabled port list map, sai_object_id_t> m_portListLaneMap; map, tuple> m_lanesAliasSpeedMap; - // m_availablePortSet is the available port list read from ASIC by SAI - set> m_availablePortSet; + set m_availableLanes; map m_portList; unordered_map m_portOidToIndex; map m_port_ref_count;