Skip to main content

Nautobot BGP Site of Origin (SoO)

A Nautobot app for modeling BGP Site of Origin (SoO) extended communities.

Overview

BGP Site of Origin (SoO) is an extended community attribute used in MPLS VPN environments to identify the site from which a route originated, preventing routing loops in multi-homed CE environments.

This app extends the Nautobot BGP Models app with two models:

Site of Origin

Stores individual SoO values as their component parts:

SoO Type Administrator Assigned Number Example
Type 0 2-byte ASN (0–65535) 4-byte (0–4294967295) SoO:65000:100
Type 1 IPv4 Address 2-byte (0–65535) SoO:10.0.0.1:42
Type 2 4-byte ASN (0–4294967295) 2-byte (0–65535) SoO:4200000001:100

Each SoO can optionally be associated with:

  • A Status (Active, Reserved, Deprecated, Planned)
  • A Tenant
  • One or more Locations

Site of Origin Range

Defines a pool of SoO assigned numbers for allocation, similar to ASN Ranges in the BGP Models app. Each range specifies:

  • A Name for the range
  • A fixed SoO Type and Administrator
  • A Start and End assigned number defining the pool boundaries
  • An optional Tenant

The range detail view displays all SoO objects that fall within the range. The get_next_available_soo() method returns the first unallocated assigned number in the range.

PeerEndpoint Relationship

On installation, the app automatically creates a Nautobot Relationship linking BGP Models PeerEndpoints to Sites of Origin. This allows associating an SoO with a specific BGP peering endpoint.

Requirements

  • Nautobot >= 2.4.0
  • nautobot-bgp-models >= 2.3.0

Installation

Install from PyPI:

pip install nautobot-app-bgp-soo

This will automatically install nautobot-app-bgp-models as a dependency.

Add both plugins to your nautobot_config.py:

PLUGINS = [
    "nautobot_bgp_models",
    "nautobot_bgp_soo",
]

Run database migrations:

nautobot-server migrate

Usage

Navigation

The app adds menu items under Routing > BGP - Global:

  • Sites of Origin — list, create, import, bulk-edit individual SoO values
  • Site of Origin Ranges — list, create, import, bulk-edit SoO ranges

Creating a Site of Origin

  1. Navigate to Routing > BGP - Global > Sites of Origin
  2. Click the + button
  3. Select the SoO Type (0, 1, or 2)
  4. Enter the Administrator (ASN for types 0/2, IPv4 address for type 1)
  5. Enter the Assigned Number
  6. Optionally set a Status, Tenant, Locations, and Description

Creating a Site of Origin Range

  1. Navigate to Routing > BGP - Global > Site of Origin Ranges
  2. Click the + button
  3. Enter a Name for the range
  4. Select the SoO Type and Administrator (all SoOs in the range share these)
  5. Set the Start and End assigned numbers
  6. Optionally set a Tenant and Description

The range detail page displays all existing SoO objects that fall within the range boundaries.

Associating SoO with a PeerEndpoint

The app creates a Nautobot Relationship between PeerEndpoint and SiteOfOrigin. To use it:

  1. Navigate to a BGP PeerEndpoint detail page
  2. Under the Relationships section, associate a Site of Origin

REST API

The following API endpoints are available:

Endpoint Description
/api/plugins/bgp-soo/site-of-origin/ CRUD operations for Sites of Origin
/api/plugins/bgp-soo/site-of-origin-ranges/ CRUD operations for Site of Origin Ranges

Standard Nautobot REST API conventions apply (filtering, pagination, bulk operations).

GraphQL

Both models are available via the Nautobot GraphQL API as site_of_origins and site_of_origin_ranges.

License

This project is licensed under the Mozilla Public License 2.0.

Metadata

Release files for nautobot-app-bgp-soo 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nautobot-app-bgp-soo 0.1.1
File Size Uploaded Provenance Actions
nautobot_app_bgp_soo-0.1.1.tar.gz 19.2 kB Without provenance Details for nautobot_app_bgp_soo-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nautobot-app-bgp-soo 0.1.1
File Interpreter ABI Platform Actions
nautobot_app_bgp_soo-0.1.1-py3-none-any.whl Python 3 none any Details for nautobot_app_bgp_soo-0.1.1-py3-none-any.whl

Total release size: 46.6 kB

Release files / nautobot_app_bgp_soo-0.1.1.tar.gz

Download URL nautobot_app_bgp_soo-0.1.1.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
10c81adcb25c8a8b456b74e80beb2b3e39ddf99ac830613e3b52fa27a6860ec4
BLAKE2b-256 checksum
How to use checksums
a317f69fcd49549fac7e2e74fdb9a2b25ce0af6e1c56711bdf2ecbcf2cb5adb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / nautobot_app_bgp_soo-0.1.1-py3-none-any.whl

Download URL nautobot_app_bgp_soo-0.1.1-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
316f143acbd7cf3eb0cf529b6d639e6fc2e99ec9b275375e65bbc1d55a3b01a2
BLAKE2b-256 checksum
How to use checksums
65b603728c9565df7652f0cbcab1345073bf2c669c4156f42f1af35493b0c553
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.2.0 CPython/3.12.12

Security for nautobot-app-bgp-soo 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page