sonic-net / sonic-swss

SONiC Switch State Service (SwSS)
https://azure.github.io/SONiC
Other
170 stars 503 forks source link

[teamsyncd] Update "oper_status" of LAG_TABLE in state_db (#3192) #3195

Closed super-jiying closed 1 month ago

super-jiying commented 2 months ago

What I did

Fix for #3192

How I did it

In teamSync::addLag method, update lag "oper_status" status in state_db.

    bool lag_update = true;
    /* Return when the team instance has already been tracked */
    if (m_teamSelectables.find(lagName) != m_teamSelectables.end())
    {
        auto tsync = m_teamSelectables[lagName];
        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;
    }

    FieldValueTuple s("state", "ok");
    fvVector.push_back(s);
    if (m_warmstart)
    {
        m_stateLagTablePreserved[lagName] = fvVector;
    }
    else
    {
        m_stateLagTable.set(lagName, fvVector);
    }

How to verify it

Manual Testing

prsunny commented 2 months ago

@judyjoseph , @saiarcot895 , could you folks review?