netbox-community / netbox

The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/free-netbox-cloud/
http://netboxlabs.com/oss/netbox/
Apache License 2.0
16.14k stars 2.58k forks source link

Ability to manage BGP local ASN's and communities #1060

Closed n3wtype closed 7 years ago

n3wtype commented 7 years ago

It would be awesome to have netbox extended to support BGP communities and ASN's. i'm using multiple local ASN's and BGP communities to interconnect various locations. It would be very useful to keep it in one place to avoid need of separate wiki articles.

jeremystretch commented 7 years ago

This feature request lacks sufficient detail to be actionable. Please describe the specific data model and views that you​ would like to implement.

mweinelt commented 7 years ago

When a peering between two AS happen, both sides can attach so-called communities to routes exchanged, which are numbers that indicate certain information and are actionable by the other end.

A few of them are well-known (https://www.iana.org/assignments/bgp-well-known-communities/bgp-well-known-communities.xhtml), but some of them vary by peering partner:

What the OP means is to document actions for certain communities announced by certain ASN.

jeremystretch commented 7 years ago

Yep, I know what BGP communities are. Per the contributing guidelines:

When submitting a feature request on GitHub, be sure to include the following:

    A detailed description of the proposed functionality
    A use case for the feature; who would use it and what value it would add to NetBox
    A rough description of changes necessary to the database schema (if applicable)
    Any third-party libraries or other resources which would be involved
jeremystretch commented 7 years ago

Closing due to lack of response.

n3wtype commented 7 years ago

Sorry fot lack of prompt response, Could you please reopen this issue? Exactly like @mweinelt mentioned it would be nice to keep track of

Communities are used as tags attached to prefixes on which action can be taken. Private ASN's could be used for confederations or to interconnect various networks in hub and spoke fashion using BGP protocol (because of flexibility and scalability). For example, each location get's their own ASN.

Data model could look like follows, there should be views available to manipulate (add,edit,update,delete) this data.

class ASN: """ used to track internally used as numbers""" value = model.int() name = model.string() description = model.string() vrf - model.ForeignKey(vrf)

class Community: asn = model.ForeignKey(ASN) value = model.int() name = model.string() vrf = models.ForeignKey(vrf) wildcard = model.bool () # default false, if true community would be represented as ASN:* description = model.string()

The point is to have all internally used ASN's (there is range dedicated for private use) and communities tracked in netbox. ASN's and communities should be assigned to vrfs as there could be some overlap.

jeremystretch commented 7 years ago

Marking this as a duplicate of #127. BGP communities are likely going to be out of scope for NetBox.