Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add BGP_STATE_TABLE in stateDB #273

Merged
merged 1 commit into from
Jun 29, 2019
Merged

Conversation

jipanyang
Copy link
Contributor

@jipanyang jipanyang commented Apr 25, 2019

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

Add BGP_STATE_TABLE in stateDB for storing BGP related states.

Three PRs for adding BGP eoiu support to speed up route reconciliation in fpmsyncd

sonic-buildimage: sonic-net/sonic-buildimage#2823
sonic-swss-common: #273
sonic-swss: sonic-net/sonic-swss#856

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
@lguohan lguohan merged commit 4bb144b into sonic-net:master Jun 29, 2019
lguohan pushed a commit to sonic-net/sonic-swss that referenced this pull request Aug 1, 2019
Three PRs for adding BGP eoiu support to speed up route reconciliation in fpmsyncd

sonic-buildimage: sonic-net/sonic-buildimage#2823
sonic-swss-common: sonic-net/sonic-swss-common#273
sonic-swss: #856

Why I did it

Similar to restore_neigbors.py for neigborsyncd, start a bgp_eoiu_mark.py for bgp docker.

The script check bgp neighbor state via cli interface periodically (every 1 second)
It looks for explicit EOR and implicit EOR (keep alive after established) in the json output of show ip bgp neighbors A.B.C.D json

Once the script has collected all needed EORs, it set a EOIU flag in stateDB.

fpmsyncd could hold a few seconds (3 seconds) after getting the flag before starting routing reconciliation.

For any reason the script failed to set EOIU flag in stateDB, the current warm_restart bgp_timer will kick in later.

This approach may have a few more seconds delay compared with the FRR embedded EOIU solution, but simple and less risk.

Signed-off-by: Jipan Yang <jipan.yang@alibaba-inc.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants