netbox-bgp icon indicating copy to clipboard operation
netbox-bgp copied to clipboard

BGP Unnumbered support

Open ghost opened this issue 3 years ago • 3 comments

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 avatar Jul 01 '21 17:07 ghost

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.

k01ek avatar Apr 12 '22 10:04 k01ek

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

rasanentimo avatar Aug 29 '22 13:08 rasanentimo

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..

ThomasADavis avatar Sep 12 '22 22:09 ThomasADavis