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

[multiasic][voq][bgpconf] Fix for the issue of same BGP router id in all asics #8049

Merged
merged 3 commits into from Jul 26, 2021

Conversation

vganesan-nokia
Copy link
Contributor

@vganesan-nokia vganesan-nokia commented Jul 2, 2021

Why I did it

For multiasic, the back end asics use ip addresss of Loopback4096 for BGP router id. In VOQ multi-asic chassis there are no back end asics. All the asics are front end and the iBGP connections are established via Ethernet-IB of asics. Since these asics are not designated as BackEnd, the ip address of interface Loopback0 is used as BGP router id. Since the ip address of Loopback0 is same for all the asics in the line card, same router id is used for voq iBGP configurations and hence the iBGP connections are not established. Changes are done to fix this

How I did it

To fix this (i.e., to have different router ids for differen iBGP peers), we need to use the ip address of Loopback4096 for
the front end asics also in VOQ chassis systems. The bgp main configuration template is adjusted to take ip address of Loopback4096 as router id for asics (both in single asic line card and multi-asic line card) in chassis voq systems irrespective of whether the asic is front end or not.

How to verify it

  • In multi-asic voq chassis system have the following in the config_db.json of multiple asics
  • Configure different IP addresses for Loopback4096 loop back interface in different asics
  • Configure BGP_VOQ_CHASSIS_NEIGHBORS for the Ethernet-IB interfaces.
  • Reboot the chassis
  • Observe that all iBGP sessions are established state.

For multiasic, the back end asics use ip addresss of Loopback4096 for
BGP router id. In VOQ multi-asic chassis there are no back end asics.
All the asics are front end and the iBGP connections are established via
Ethernet-IB of asics. Since these asics are not designated as BackEnd,
the ip address of interface Loopback0 is used as BGP router id. Since
the ip address of Loopback0 is same for all the asics, same router id is
used for voq iBGP configurations and hence the iBGP connections are not
established. To fix this, we need to use the ip address of Loopback4096 for
the front end asics also in multi-asic VOQ systems.

Changes are done to implement this fix.

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
Changes to use Loopback4096 ip for BGP router id in single asic line
cards and multi-asic line cards.

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
Copy link
Contributor

@abdosi abdosi left a comment

Choose a reason for hiding this comment

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

please add unit-test case to address template changes

Added unit test for changes done for using Loopback4096 ip address as
bgp router-id for voq chassis irrespective of whether the asic is front
end or backend

Signed-off-by: vedganes <vedavinayagam.ganesan@nokia.com>
@vganesan-nokia
Copy link
Contributor Author

please add unit-test case to address template changes

Added unit tests.

@abdosi
Copy link
Contributor

abdosi commented Jul 26, 2021

@arlakshm LGTM. Can you review also ?

@abdosi abdosi merged commit f923172 into sonic-net:master Jul 26, 2021
judyjoseph pushed a commit that referenced this pull request Aug 4, 2021
…all asics (#8049)

For multiasic, the back end asics use ip addresss of Loopback4096 for BGP router id. In VOQ multi-asic chassis there are no back end asics. All the asics are front end and the iBGP connections are established via Ethernet-IB of asics. Since these asics are not designated as BackEnd, the ip address of interface Loopback0 is used as BGP router id. Since the ip address of Loopback0 is same for all the asics in the line card, same router id is used for voq iBGP configurations and hence the iBGP connections are not established. Changes are done to fix this
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
…all asics (sonic-net#8049)

For multiasic, the back end asics use ip addresss of Loopback4096 for BGP router id. In VOQ multi-asic chassis there are no back end asics. All the asics are front end and the iBGP connections are established via Ethernet-IB of asics. Since these asics are not designated as BackEnd, the ip address of interface Loopback0 is used as BGP router id. Since the ip address of Loopback0 is same for all the asics in the line card, same router id is used for voq iBGP configurations and hence the iBGP connections are not established. Changes are done to fix this
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.

None yet

4 participants