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 Unnumbered support #45

Open
ghost opened this issue Jul 1, 2021 · 3 comments
Open

BGP Unnumbered support #45

ghost opened this issue Jul 1, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@ghost
Copy link

ghost commented Jul 1, 2021

With BGP Unnumbered (RFC 5549) , peering sessions do not require a local or remote address.
Instead, BGP Unnumbered sessions are bound to an interface (point-to-point links).
This is commonly used when EVPN is deployed in a datacenter.

Here is an example of underlay config in frr:

router bgp 65300
  bgp router-id 172.30.0.1
  bgp bestpath as-path multipath-relax
  neighbor underlay peer-group
  neighbor underlay remote-as external
  neighbor underlay capability extended-nexthop
  neighbor peerlink peer-group
  neighbor peerlink remote-as internal
  neighbor peerlink.4094 interface peer-group peerlink
  neighbor swp51 interface peer-group underlay
  neighbor swp52 interface peer-group underlay
  neighbor swp53 interface peer-group underlay
  neighbor swp54 interface peer-group underlay

To accommodate BGP Unnumbered, add a Type selection to the Session: ['IPv4','Interface']
When "Interface" is selected:

  • Device selection is required
  • Local address should change to Interface selection (Multiple interfaces can be used for same session)
  • Remote Address is not needed
@ghost ghost added the enhancement New feature or request label Jul 1, 2021
@k01ek
Copy link
Collaborator

k01ek commented Apr 12, 2022

Hi @jlanclos! All data models should represent real world objects, bgp session in real world always has ip source and destination address. BGP Unnumbered is just a syntactic sugar in configuration. Device gets source and destination addresses from /31 or /32 prefix setted on the interface. What i can do with this plugin is make this "syntactic sugar" inside the plugin which will choise source and destionation addresses from interface prefix. But in that way you have to bind address to interface before create session.

@rasanentimo
Copy link

Does this mean that the IPv6 link-local addresses would need to be set to the interfaces which are used for the BGP sessions?

@ThomasADavis
Copy link

From playing with it, yes, you have to track the link-local to use this plugin if you doing truly unnumbered which means use dynamically assigned. We also assign an loopback address for VXLAN tunnels, so it appears that would have to be used to create all the unnumbered sessions. which grows quickly in an EVPN/VXLAN network..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants