netbox-bgp
netbox-bgp copied to clipboard
BGP Unnumbered support
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
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.
Does this mean that the IPv6 link-local addresses would need to be set to the interfaces which are used for the BGP sessions?
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..