Nautobot App to model routing tables per device/VRF with optional auto-managed connected routes.
Project description
Nautobot App: Routing Tables
A Nautobot App to model routing tables per Device + VRF, including routes and routing protocols, and optional automatic management of connected routes derived from interface/IP/cable state.
Repository layout aligns with the Nautobot App Cookiecutter conventions.
Features
- RoutingTable per (Device, VRF)
- Route entries referencing native IPAM Prefix objects (destination)
- RoutingProtocol instances referencing a ProtocolType
- Default administrative distances per protocol type, overridable per protocol instance or per route
- Optional auto-create/delete managed connected routes when enabled:
- Interface admin state changes (
Interface.enabled) - Cable connect/disconnect changes (optional requirement)
- IP addresses assigned/removed to interfaces
- Interface admin state changes (
Permissions
All new models are Django models and therefore automatically get standard permissions:
view,add,change,deletefor each of:- ProtocolType
- RoutingTable
- RoutingProtocol
- Route
UI/API viewsets use Nautobot's standard permission enforcement.
Compatibility
- Nautobot 2.4+ and 3.x
- Python 3.10+
Install
pip install .
Enable the app in nautobot_config.py:
PLUGINS = [
"nautobot_routing_tables",
]
PLUGINS_CONFIG = {
"nautobot_routing_tables": {
"AUTO_MANAGE_CONNECTED_ROUTES": True,
"AUTO_CREATE_PREFIXES_FOR_CONNECTED_ROUTES": True,
"REQUIRE_CABLE_FOR_CONNECTED_ROUTES": True,
"CONNECTED_ROUTE_PROTOCOL_SLUG": "connected",
}
}
Apply migrations:
nautobot-server post_upgrade
Documentation (MkDocs)
pip install -e ".[docs]"
mkdocs build
python -m nautobot_routing_tables.tools.copy_docs_to_static
nautobot-server collectstatic # if required by your deployment
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nautobot_app_routing_tables-1.1.1.tar.gz.
File metadata
- Download URL: nautobot_app_routing_tables-1.1.1.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00da40daf66cd1b1473db32ba5643f6195a72375049060761eb59c590ceaee0e
|
|
| MD5 |
718f9dba3e2d8e611417da3ee8a49956
|
|
| BLAKE2b-256 |
69639cfa4abc910727c252c5b5c91b3db6f453cdfd332c1b62a9ab9efebb3710
|
File details
Details for the file nautobot_app_routing_tables-1.1.1-py3-none-any.whl.
File metadata
- Download URL: nautobot_app_routing_tables-1.1.1-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0506f1eb66aabcc72a379f690c04494f6817ad1ba3e23af893ded7bd4f9efb7f
|
|
| MD5 |
3be95573396c3f2c3112fa0472e7ee75
|
|
| BLAKE2b-256 |
aae10f864fe4c25c60eedc0fcef7c38dbc4b833637d9bc69bd0cb9c184b74c43
|