netbox-community / netbox-bgp

NetBox plugin for BGP related objects documentation
Apache License 2.0
249 stars 51 forks source link

Add remote device for BGP Sessions #178

Open pumathingy opened 9 months ago

pumathingy commented 9 months ago

Is your feature request related to a problem? Please describe. Currently, to attach BGP sessions to a device, one would have to have 2 separate sessions defined, one for each end of the BGP session.

Describe the solution you'd like Updating the device field to local device and adding a new field for remote device to link the BGP session to both devices inside of netbox.

Describe alternatives you've considered The alternative that I can see is to add 2 unique sessions one for each device. It seems excessive to add 2 sessions when 90% of the information is duplicated between the 2 sessions.

Additional context The scenario I am modeling is 2 routers who talk BGP to each other. I do not see a use case where BGP is only defined in a single router and not at the remote end.

pl0xym0r commented 9 months ago

Have you tried to add custom fields, especially remote_device --> dcim.devices ? Just a workaround suggestion

pumathingy commented 9 months ago

That would be a workaround. Also seems easy enough to add directly. It would be very rare you are not attaching 2 devices together with BGP, so including the second device field natively just makes sense to me.

pl0xym0r commented 9 months ago

Well, I'm torn between the network BGP session object itself and a view from the device that have the session object. You could use listen range and from the device perspective, the representation in the plugin works, but you won't list all dynamic sessions into the plugin. There are too much parameters in BGP (password, redistribute, ecmp, next hop options, multi hop, allow as, bfd ...) that cannot be listed and implemented in the plugin for ease of use reasons (I think) and custom fields helps to add what's missing in each use case. I don't know if the aim of the plugin is to represent a core object of a BGP session or the view of a device that owns a BGP session.

cruse1977 commented 5 months ago

That would be a workaround. Also seems easy enough to add directly. It would be very rare you are not attaching 2 devices together with BGP, so including the second device field natively just makes sense to me.

Hey, your use case assumes sessions are all on devices you have in NetBox. This wouldn't be the case for service providers whereas you might have IX / Transit peering, NNI peering, L3VPN peering whereas you wouldn't add a 3rd parties devices into NetBox as they're not directly owned/managed/configured etc by you.

cruse1977 commented 5 months ago

Considering I wouldn't do this in a session, This does however open a discussion about possible documentary objects on things like 'Resiliency Groups' - whereas a customer may have 2 interconnects (and hence sessions) and it may be nice to link these together in some form of representation

elipsion commented 3 months ago

That would be a workaround. Also seems easy enough to add directly. It would be very rare you are not attaching 2 devices together with BGP, so including the second device field natively just makes sense to me.

Hey, your use case assumes sessions are all on devices you have in NetBox. This wouldn't be the case for service providers whereas you might have IX / Transit peering, NNI peering, L3VPN peering whereas you wouldn't add a 3rd parties devices into NetBox as they're not directly owned/managed/configured etc by you.

Then let the parties be either a Device or an IP Address, akin to how either endpoint for a Circuit can be a Device or a Provider Network.