diff --git a/orchagent/portsorch.cpp b/orchagent/portsorch.cpp index 1f4fc18fbc..a195f9a9c6 100644 --- a/orchagent/portsorch.cpp +++ b/orchagent/portsorch.cpp @@ -155,6 +155,8 @@ bool PortsOrch::isInitDone() bool PortsOrch::getPort(string alias, Port &p) { + SWSS_LOG_ENTER(); + if (m_portList.find(alias) == m_portList.end()) return false; p = m_portList[alias]; @@ -163,6 +165,8 @@ bool PortsOrch::getPort(string alias, Port &p) bool PortsOrch::getPort(sai_object_id_t id, Port &port) { + SWSS_LOG_ENTER(); + for (const auto& portIter: m_portList) { switch (portIter.second.m_type) @@ -255,7 +259,7 @@ void PortsOrch::updateDbPortOperStatus(sai_object_id_t id, sai_port_oper_status_ if (it->second.m_port_id == id) { vector vector; - FieldValueTuple tuple("oper_status", to_string(status)); + FieldValueTuple tuple("oper_status", oper_status_strings.at(status)); vector.push_back(tuple); m_portTable->set(it->first, vector); } diff --git a/orchagent/portsorch.h b/orchagent/portsorch.h index fdf6d8d3cc..acc1b3553d 100644 --- a/orchagent/portsorch.h +++ b/orchagent/portsorch.h @@ -9,6 +9,15 @@ #include +static const map oper_status_strings = +{ + { SAI_PORT_OPER_STATUS_UNKNOWN, "unknown" }, + { SAI_PORT_OPER_STATUS_UP, "up" }, + { SAI_PORT_OPER_STATUS_DOWN, "down" }, + { SAI_PORT_OPER_STATUS_TESTING, "testing" }, + { SAI_PORT_OPER_STATUS_NOT_PRESENT, "not present" } +}; + struct LagMemberUpdate { Port lag; diff --git a/portsyncd/linksync.cpp b/portsyncd/linksync.cpp index 65b5f4ece7..ad4a14a831 100644 --- a/portsyncd/linksync.cpp +++ b/portsyncd/linksync.cpp @@ -165,10 +165,8 @@ void LinkSync::onMsg(int nlmsg_type, struct nl_object *obj) vector fvVector; FieldValueTuple a("admin_status", admin ? "up" : "down"); - FieldValueTuple o("oper_status", oper ? "up" : "down"); FieldValueTuple m("mtu", to_string(mtu)); fvVector.push_back(a); - fvVector.push_back(o); fvVector.push_back(m); /* VLAN interfaces: Check if the type is bridge */ @@ -180,6 +178,8 @@ void LinkSync::onMsg(int nlmsg_type, struct nl_object *obj) } else { + FieldValueTuple o("oper_status", oper ? "up" : "down"); + fvVector.push_back(o); m_vlanTableProducer.set(key, fvVector); } return;