Skip to content

Warm reboot: FDB sync up#558

Closed
jipanyang wants to merge 4 commits intosonic-net:masterfrom
jipanyang:warm_reboot_collab_6_fdb_syncup
Closed

Warm reboot: FDB sync up#558
jipanyang wants to merge 4 commits intosonic-net:masterfrom
jipanyang:warm_reboot_collab_6_fdb_syncup

Conversation

@jipanyang
Copy link
Copy Markdown
Contributor

Signed-off-by: Jipan Yang jipan.yang@alibaba-inc.com

What I did
During orchagent warm start window, FDB may be changed. void FdbOrch::syncUpFdb() is to be called after the whole orchagent state has been restored.

Why I did it

How I verified it

VS test case to be provided once #554 is settled.

Details if related
Has dependency on #554

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
@jipanyang jipanyang changed the title Warm start: FDB sync up Warm reboot: FDB sync up Aug 1, 2018
}


void FdbOrch::syncUpFdb()
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where this syncUpFdb() is (going to be) called?

continue;
}

string s = tableName + ":" + key
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better to not hardcode the separator.

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
@jipanyang jipanyang force-pushed the warm_reboot_collab_6_fdb_syncup branch from 071fc16 to f53f9e9 Compare August 13, 2018 17:38
for (const auto &key: keys)
{
sai_object_id_t bridge_port_id = SAI_NULL_OBJECT_ID;
sai_fdb_entry_type_t entryType = SAI_FDB_ENTRY_TYPE_STATIC;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, the default can by DYNAMIC and check for STATIC in if statement down considering most of the FDBs learnt are dynamic

std::string value;

table.hget(key, "SAI_FDB_ENTRY_ATTR_TYPE", value);
if (value == "SAI_FDB_ENTRY_TYPE_DYNAMIC")
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra space after ==

@jipanyang
Copy link
Copy Markdown
Contributor Author

@prsunny thanks for the review! FDB sync up will require more sophisticated handling. This version of change doesn't take FDB restore into account and assumes that no previous dynamic FDB exists. Besides new FDB entries, there might be stale entries as well.

Will prepare a new version to handle the case of stale FDB entries.

@qiluo-msft
Copy link
Copy Markdown
Contributor

Closed, in favor of #615
Thanks for the inspiration.

@qiluo-msft qiluo-msft closed this Sep 27, 2018
@jipanyang jipanyang deleted the warm_reboot_collab_6_fdb_syncup branch February 9, 2019 02:32
EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
oleksandrivantsiv pushed a commit to oleksandrivantsiv/sonic-swss that referenced this pull request Mar 1, 2023
* [vs] Support set interface ADMIN status

* [vs] Fix spelling
yejianquan added a commit that referenced this pull request Sep 3, 2025
…for-port-cntrs

Temporarily disable bulk init requests for PORT counters

Add temporary fix for https://github.com/aristanetworks/sonic-qual.msft/issues/655

This forces each port to be processed individually, avoiding capability mismatch between different ports in bulk requests

What I did
Temporarily disable bulk init requests for PORT counters.

Why I did it
When swss requests bulk initialization of PORT counters, corresponding component in sonic-sairedis assumes all the requested ports support same attributes, which is not the case for SFP/mgmt ports of Arista switches and was causing these ports to be completely skipped. This is supposed to be fixed by Azure/sonic-sairedis.msft#73 but it needs a re-work as its breaking non-Broadcom platform.

So, we're temporarily disabling this flow.

How I verified it
Verified countersDB is now having all the supported counters for SFP ports.

Details if related
relevant threads: #558, #629, 655

signed-off-by: jianquanye@microsoft.com
jianyuewu pushed a commit to jianyuewu/sonic-swss that referenced this pull request Dec 24, 2025
…ld (sonic-net#558)

Instead of using the distro version to determine if the Python 2
bindings should be built, use deb profiles instead to specify if they
should be built or not. The main reason of this is that normal .install
and .dirs files can be used for both the Python 2 and Python 3 bindings,
instead of .install/.dir files for Python 3 and debian/rules for Python

More details on build profiles are [here](https://wiki.debian.org/BuildProfileSpec).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants