From b94a7a62033a77c1fecdd7ab7402702ca0f3f9bd Mon Sep 17 00:00:00 2001 From: Andriy Kokhan Date: Tue, 1 Nov 2022 02:06:45 +0200 Subject: [PATCH] Added LAG member check on addLagMember() (#2464) *[teammgr] Added LAG member check into addLagMember() --- cfgmgr/teammgr.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/cfgmgr/teammgr.cpp b/cfgmgr/teammgr.cpp index 31f911741cb..8c9fa7299e5 100644 --- a/cfgmgr/teammgr.cpp +++ b/cfgmgr/teammgr.cpp @@ -704,6 +704,17 @@ task_process_status TeamMgr::addLagMember(const string &lag, const string &membe { SWSS_LOG_ENTER(); + stringstream cmd; + string res; + + // If port was already deleted, ignore this operation + cmd << IP_CMD << " link show " << shellquote(member); + if (exec(cmd.str(), res) != 0) + { + SWSS_LOG_WARN("Unable to find port %s", member.c_str()); + return task_ignore; + } + // If port is already enslaved, ignore this operation // TODO: check the current master if it is the same as to be configured if (isPortEnslaved(member)) @@ -711,9 +722,9 @@ task_process_status TeamMgr::addLagMember(const string &lag, const string &membe return task_ignore; } - stringstream cmd; - string res; uint16_t keyId = generateLacpKey(lag); + cmd.str(""); + cmd.clear(); // Set admin down LAG member (required by teamd) and enslave it // ip link set dev down;