diff --git a/teamsyncd/teamsync.cpp b/teamsyncd/teamsync.cpp index 6d8c025911..e8dcb1fc55 100644 --- a/teamsyncd/teamsync.cpp +++ b/teamsyncd/teamsync.cpp @@ -162,9 +162,10 @@ void TeamSync::addLag(const string &lagName, int ifindex, bool admin_state, if (m_teamSelectables.find(lagName) != m_teamSelectables.end()) { auto tsync = m_teamSelectables[lagName]; - if (tsync->admin_state == admin_state && tsync->mtu == mtu) + if (tsync->admin_state == admin_state && tsync->oper_state == oper_state && tsync->mtu == mtu) return; tsync->admin_state = admin_state; + tsync->oper_state = oper_state; tsync->mtu = mtu; lag_update = false; } diff --git a/teamsyncd/teamsync.h b/teamsyncd/teamsync.h index deb5d84129..536a4e9651 100644 --- a/teamsyncd/teamsync.h +++ b/teamsyncd/teamsync.h @@ -44,6 +44,7 @@ class TeamSync : public NetMsg /* member_name -> enabled|disabled */ std::map m_lagMembers; bool admin_state; + bool oper_state; unsigned int mtu; protected: int onChange();