diff --git a/portsyncd/linksync.cpp b/portsyncd/linksync.cpp index 66cdc4df5f..1648a40f73 100644 --- a/portsyncd/linksync.cpp +++ b/portsyncd/linksync.cpp @@ -27,7 +27,6 @@ using namespace swss; #define VLAN_DRV_NAME "bridge" #define TEAM_DRV_NAME "team" -const string MGMT_PREFIX = "eth"; const string INTFS_PREFIX = "Ethernet"; const string LAG_PREFIX = "PortChannel"; @@ -38,57 +37,11 @@ extern string g_switchType; LinkSync::LinkSync(DBConnector *appl_db, DBConnector *state_db) : m_portTableProducer(appl_db, APP_PORT_TABLE_NAME), m_portTable(appl_db, APP_PORT_TABLE_NAME), - m_statePortTable(state_db, STATE_PORT_TABLE_NAME), - m_stateMgmtPortTable(state_db, STATE_MGMT_PORT_TABLE_NAME) + m_statePortTable(state_db, STATE_PORT_TABLE_NAME) { std::shared_ptr if_ni(if_nameindex(), if_freenameindex); struct if_nameindex *idx_p; - for (idx_p = if_ni.get(); - idx_p != NULL && idx_p->if_index != 0 && idx_p->if_name != NULL; - idx_p++) - { - string key = idx_p->if_name; - - /* Explicitly store management ports oper status into the state database. - * This piece of information is used by SNMP. */ - if (!key.compare(0, MGMT_PREFIX.length(), MGMT_PREFIX)) - { - ostringstream cmd; - string res; - cmd << "cat /sys/class/net/" << shellquote(key) << "/operstate"; - try - { - EXEC_WITH_ERROR_THROW(cmd.str(), res); - } - catch (...) - { - SWSS_LOG_WARN("Failed to get %s oper status", key.c_str()); - continue; - } - - /* Remove the trailing newline */ - if (res.length() >= 1 && res.at(res.length() - 1) == '\n') - { - res.erase(res.length() - 1); - /* The value of operstate will be either up or down */ - if (res != "up" && res != "down") - { - SWSS_LOG_WARN("Unknown %s oper status %s", - key.c_str(), res.c_str()); - } - FieldValueTuple fv("oper_status", res); - vector fvs; - fvs.push_back(fv); - - m_stateMgmtPortTable.set(key, fvs); - SWSS_LOG_INFO("Store %s oper status %s to state DB", - key.c_str(), res.c_str()); - } - continue; - } - } - if (!WarmStart::isWarmStart()) { /* See the comments for g_portSet in portsyncd.cpp */ @@ -168,8 +121,7 @@ void LinkSync::onMsg(int nlmsg_type, struct nl_object *obj) string key = rtnl_link_get_name(link); if (key.compare(0, INTFS_PREFIX.length(), INTFS_PREFIX) && - key.compare(0, LAG_PREFIX.length(), LAG_PREFIX) && - key.compare(0, MGMT_PREFIX.length(), MGMT_PREFIX)) + key.compare(0, LAG_PREFIX.length(), LAG_PREFIX)) { return; } @@ -197,17 +149,6 @@ void LinkSync::onMsg(int nlmsg_type, struct nl_object *obj) nlmsg_type, key.c_str(), admin, oper, addrStr, ifindex, master); } - if (!key.compare(0, MGMT_PREFIX.length(), MGMT_PREFIX)) - { - FieldValueTuple fv("oper_status", oper ? "up" : "down"); - vector fvs; - fvs.push_back(fv); - m_stateMgmtPortTable.set(key, fvs); - SWSS_LOG_INFO("Store %s oper status %s to state DB", - key.c_str(), oper ? "up" : "down"); - return; - } - /* teamd instances are dealt in teamsyncd */ if (type && !strcmp(type, TEAM_DRV_NAME)) { diff --git a/portsyncd/linksync.h b/portsyncd/linksync.h index d72e1ba124..5b31ed9b3c 100644 --- a/portsyncd/linksync.h +++ b/portsyncd/linksync.h @@ -20,7 +20,7 @@ class LinkSync : public NetMsg private: ProducerStateTable m_portTableProducer; - Table m_portTable, m_statePortTable, m_stateMgmtPortTable; + Table m_portTable, m_statePortTable; std::map m_ifindexNameMap; std::map m_ifindexOldNameMap; diff --git a/tests/mock_tests/portsyncd/portsyncd_ut.cpp b/tests/mock_tests/portsyncd/portsyncd_ut.cpp index f97a80e3d6..93575f68bc 100644 --- a/tests/mock_tests/portsyncd/portsyncd_ut.cpp +++ b/tests/mock_tests/portsyncd/portsyncd_ut.cpp @@ -187,18 +187,6 @@ namespace portsyncd_ut namespace portsyncd_ut { - TEST_F(PortSyncdTest, test_linkSyncInit) - { - if_ni_mock = populateNetDev(); - mockCmdStdcout = "up\n"; - swss::LinkSync sync(m_app_db.get(), m_state_db.get()); - std::vector keys; - sync.m_stateMgmtPortTable.getKeys(keys); - ASSERT_EQ(keys.size(), 1); - ASSERT_EQ(keys.back(), "eth0"); - ASSERT_EQ(mockCallArgs.back(), "cat /sys/class/net/\"eth0\"/operstate"); - } - TEST_F(PortSyncdTest, test_cacheOldIfaces) { if_ni_mock = populateNetDevAdvanced(); @@ -295,29 +283,6 @@ namespace portsyncd_ut ASSERT_EQ(sync.m_statePortTable.get("Ethernet0", ovalues), false); } - TEST_F(PortSyncdTest, test_onMsgMgmtIface){ - swss::LinkSync sync(m_app_db.get(), m_state_db.get()); - - /* Generate a netlink notification about the eth0 netdev iface */ - std::vector flags = {IFF_UP}; - struct nl_object* msg = draft_nlmsg("eth0", - flags, - "", - "00:50:56:28:0e:4a", - 16222, - 9100, - 0); - sync.onMsg(RTM_NEWLINK, msg); - - /* Verify if the update has been written to State DB */ - std::string oper_status; - ASSERT_EQ(sync.m_stateMgmtPortTable.hget("eth0", "oper_status", oper_status), true); - ASSERT_EQ(oper_status, "down"); - - /* Free Nl_object */ - free_nlobj(msg); - } - TEST_F(PortSyncdTest, test_onMsgIgnoreOldNetDev){ if_ni_mock = populateNetDevAdvanced(); swss::LinkSync sync(m_app_db.get(), m_state_db.get());