Skip to content

Add BGP_STATE_TABLE in stateDB#273

Merged
lguohan merged 1 commit intosonic-net:masterfrom
jipanyang:bgp_eoiu
Jun 29, 2019
Merged

Add BGP_STATE_TABLE in stateDB#273
lguohan merged 1 commit intosonic-net:masterfrom
jipanyang:bgp_eoiu

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>
Janetxxx pushed a commit to Janetxxx/sonic-swss that referenced this pull request Nov 10, 2025
…c-net#856)

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: sonic-net#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