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

[bgp] Add design doc for explicitly configuring BGP router id #1643

Merged
merged 7 commits into from
Apr 25, 2024

Conversation

yaqiangz
Copy link
Contributor

@yaqiangz yaqiangz commented Mar 27, 2024

This document describes the design details of explicitly configuring BGP router id in SONiC.

Description Repo PR title State
Update yang model sonic-buildimage sonic-net/sonic-buildimage#18534 GitHub issue/pull request detail
Add support for minigraph parser sonic-buildimage sonic-net/sonic-buildimage#18698 GitHub issue/pull request detail
Update bgpcfgd and configuration j2 for single-asic sonic-buildimage sonic-net/sonic-buildimage#18727 GitHub issue/pull request detail
Update bgpcfgd and configuration j2 for multi-asic sonic-buildimage sonic-net/sonic-buildimage#18764 GitHub issue/pull request detail
Re-add dependency in managers_bgp for bgpcfgd sonic-buildimage sonic-net/sonic-buildimage#19088 GitHub issue/pull request detail

@yaqiangz yaqiangz requested a review from Blueve March 27, 2024 10:52
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
@yaqiangz yaqiangz force-pushed the master_bgp_router_id branch 5 times, most recently from aad6148 to 1824a5e Compare March 29, 2024 05:36
@yaqiangz yaqiangz changed the title [bgp] Add design doc for customizing BGP router id [bgp] Add design doc for explicitly configuring BGP router id Mar 29, 2024
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
@yaqiangz yaqiangz force-pushed the master_bgp_router_id branch 4 times, most recently from 851d877 to 5cde85d Compare March 29, 2024 07:16
Blueve
Blueve previously approved these changes Mar 29, 2024
doc/BGP/BGP-router-id.md Outdated Show resolved Hide resolved
@yaqiangz yaqiangz force-pushed the master_bgp_router_id branch 4 times, most recently from 3d59ad5 to 56c985d Compare April 12, 2024 00:23
Blueve
Blueve previously approved these changes Apr 17, 2024
Blueve
Blueve previously approved these changes Apr 23, 2024
@yaqiangz yaqiangz merged commit bc92164 into sonic-net:master Apr 25, 2024
1 check passed
lguohan pushed a commit to sonic-net/sonic-buildimage that referenced this pull request May 13, 2024
…e device (#18727)

HLD: sonic-net/SONiC#1643
Add support to explictly specify bgp router id for single asic device


Microsoft ADO (number only): 27674485

How I did it
1. When bgp_router_id configured in DEVICE_METADATA, use it as bgp router-id.
2. Remove the hard dependency on loopback0 ipv4 address when adding bgp peer.
3. Add UTs.

Behavior of set bgp router-id

To be clarified that when bgp router-id hasn't been explicitly set, bgp actions would totally like previous

                                           Loopback0 IPv4 address exists	Loopback0 IPv4 address doesn't exist
bgp_router_id configured  Honor bgp_router_id	                Honor bgp_router_id
bgp_router_id not confgd  Honor Loopback0 IPv4 address	FRR default router ID value is selected as the largest IP address of the device. When router zebra is not enabled bgpd can’t get interface information, so router-id is set to 0.0.0.0


Behavior of add bgp peer

To be clarified that when bgp router-id hasn't been explicitly set, bgp actions would totally like previous

                                                         Loopback0 IPv4 address exists      Loopback0 IPv4 address doesn't exist
bgp_router_id configured	         Add BGP peer	                        Add BGP peer
bgp_router_id not configured	         Add BGP peer                                Do not add BGP peer
StormLiangMS pushed a commit to sonic-net/sonic-buildimage that referenced this pull request May 16, 2024
Why I did it
HLD: sonic-net/SONiC#1643
Remove hard coupling between bgp router-id and IPv4 address of Loopback4096
Add support to explictly specify bgp router id for multi asic device

Work item tracking
Microsoft ADO (number only): 27801007
How I did it
When bgp_router_id configured in DEVICE_METADATA, use it as bgp router-id and originator-id.
Remove the hard dependency on loopback4096 ipv4 address when adding ibgp peer.
Add UTs.

Behavior of set bgp router-id

To be clarified that when bgp router-id hasn't been explicitly set, bgp actions would totally like previous

Loopback4096 IPv4 address exists	Loopback4096 IPv4 address doesn't exist
bgp_router_id configured	Honor bgp_router_id	Honor bgp_router_id
bgp_router_id doesn't be configured	Honor Loopback4096 IPv4 address	FRR default router ID value is selected as the largest IP address of the device. When router zebra is not enabled bgpd can’t get interface information, so router-id is set to 0.0.0.0
Behavior of add bgp peer

To be clarified that when bgp router-id hasn't been explicitly set, bgp actions would totally like previous

Loopback4096 IPv4 address exists	Loopback4096 IPv4 address doesn't exist
bgp_router_id configured	Add BGP peer	Add BGP peer
bgp_router_id doesn't be configured	Add BGP peer	Do not add iBGP peer
How to verify it
UT passed.
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.

5 participants