NetBox cesnet_services Plugin
NetBox plugin for CESNET services.
- Free software: MIT
- Documentation: https://kani999.github.io/netbox-cesnet-services-plugin/
Features
Enables CESNET services in NetBox:
- BGP connections — tracks BGP peering sessions with last-seen monitoring and status badges
- LLDP Neighbors / LLDP Leafs — stores discovered LLDP adjacencies and leaf relationships
- ServiceCoreTrunk — core trunk between two nodes with linked path segments
- ServiceCoreLink — core link with topology, SAPs, L2 (QinQ encapsulation, LLDP, Flowspec), IS-IS/OSPF routing and IP addresses; belongs to one or more CoreTrunks
- ServiceIP — IP service with SAP attachment, routed/physical device and interface attributes, VLAN encapsulation (dot1q / QinQ S-VLAN & C-VLAN as
ipam.VLANlinks), IPv4/IPv6 addresses, VRF (null = Global), and routing (static or BGP)
Compatibility
| NetBox Version | Plugin Version | Notes |
|---|---|---|
| 4.7.0 – 4.7.99 | 4.0.0 | NetBox 4.7 only (django-tables2 3.0: RelatedLinkColumn → Column(linkify=True)); requires cesnet-service-path-plugin >= 6.3.0 |
| 4.5.4 – 4.6.99 | 3.0.5 | ServiceIP QinQ VLAN fields converted to ipam.VLAN FKs |
| 4.5.4 – 4.6.99 | 3.0.4 | ServiceIP VRF field (null = Global) |
| 4.5.4 – 4.6.99 | 3.0.3 | ServiceIP routed/physical device & interface fields |
| 4.5.4 – 4.6.99 | 3.0.2 | GraphQL schema fix: DatetimeFilterLookup resolves DuplicatedTypeName error |
| 4.5.4 – 4.6.99 | 3.0.1 | ServiceCoreTrunk, ServiceCoreLink, ServiceIP models + full API/UI/tests |
| 4.5.4 – 4.6.99 | 3.0.0 | NetBox 4.6 support (Django 6.0) |
| 4.5.4+ | 2.1.0 | last_seen field, bulk ops, status badges |
| 4.5.4+ | 2.0.1 | GraphQL fix: StrFilterLookup replaces FilterLookup[str]; requires NetBox 4.5.4 |
| 4.5.0–4.5.3 | 2.0.0 | Breaking change: Filter system updated, NOT compatible with 4.4.x |
| 4.4.x | 1.2.8 | Last version compatible with NetBox 4.4.x |
| 4.4.0 | 1.2.5 | |
| 4.3.1 | 1.2.4 | |
| 4.3.1 | 1.2.3 | |
| 4.2.8 | 1.2.2 |
Installing
For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.
Prerequisites
- cesnet-service-path-plugin — required from version 3.0.1 onwards. The
ServiceCoreTrunkandServiceCoreLinkmodels referenceSegmentobjects from this plugin. Both plugins must be installed and listed inPLUGINS. - NetBox 4.7.0 – 4.7.99 (for plugin version 4.0.x)
cesnet-service-path-pluginmust be >= 6.3.0- For NetBox 4.5.4 – 4.6.99, use plugin version 3.0.x (latest 3.0.5)
- NetBox 4.5.4 – 4.6.99 (for plugin version 3.0.x)
- Important: Plugin version 3.0.x requires NetBox 4.5.4 due to
StrFilterLookup(ships with strawberry-graphql-django >= 0.79.0). Starting the plugin on NetBox 4.5.0–4.5.3 will raise anImportError. - For NetBox 4.5.0–4.5.3, use plugin version 2.0.0
- For NetBox 4.4.x, use plugin version 1.2.8 or earlier
- Important: Plugin version 3.0.x requires NetBox 4.5.4 due to
Installation
You can install with pip:
pip install netbox-cesnet-services-plugin
or by adding to your local_requirements.txt or plugin_requirements.txt (netbox-docker):
# For NetBox 4.7.x
netbox-cesnet-services-plugin==4.0.0
# For NetBox 4.5.4 – 4.6.99
# netbox-cesnet-services-plugin==3.0.5
# For NetBox 4.5.4 – 4.6.99 (previous releases)
# netbox-cesnet-services-plugin==3.0.4
# netbox-cesnet-services-plugin==3.0.3
# netbox-cesnet-services-plugin==3.0.2
# netbox-cesnet-services-plugin==3.0.1
# For NetBox 4.5.4 – 4.6.99 (without new service models)
# netbox-cesnet-services-plugin==3.0.0
# For NetBox 4.5.4 only
# netbox-cesnet-services-plugin==2.1.0
# For NetBox 4.5.0–4.5.3
# netbox-cesnet-services-plugin==2.0.0
# For NetBox 4.4.x (use 1.2.8 or earlier)
# netbox-cesnet-services-plugin==1.2.8
Configuration
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py,
or if you use netbox-docker, your /configuration/plugins.py file.
You can optionally set device platforms for filtering choices in LLDPNeighbor form:
PLUGINS = [
'cesnet_service_path_plugin', # required by netbox_cesnet_services_plugin >= 3.0.1
'netbox_cesnet_services_plugin',
]
PLUGINS_CONFIG = {
"netbox_cesnet_services_plugin": {
"platforms" : ["ios", "iosxe", "iosxr", "nxos", "nxos_ssh"],
"bgp_last_seen_warning_days": 2, # days until last_seen badge turns orange (default: 2)
"bgp_last_seen_danger_days": 5, # days until last_seen badge turns red (default: 5)
},
}
Credits
Based on the NetBox plugin tutorial:
This package was created with Cookiecutter and the netbox-community/cookiecutter-netbox-plugin project template.
Metadata
Release files for netbox-cesnet-services-plugin 4.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_cesnet_services_plugin-4.0.1.tar.gz | 48.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_cesnet_services_plugin-4.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 137.4 kB
Release files / netbox_cesnet_services_plugin-4.0.1.tar.gz
| Download URL | netbox_cesnet_services_plugin-4.0.1.tar.gz |
|---|---|
| Size | 48.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a410ee1c2cc2f75e0b75beb15bf6643eb5b58c1a1e16fdc96562bc8947863726
|
|
BLAKE2b-256 checksum How to use checksums |
914130a5be1c714193ef2190cd2bb5e2e3f07c5889b6bde256d933f11e1d449b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / netbox_cesnet_services_plugin-4.0.1-py3-none-any.whl
| Download URL | netbox_cesnet_services_plugin-4.0.1-py3-none-any.whl |
|---|---|
| Size | 88.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2218c5e5d71fc670649833dafc858e4fcd63a28e03b054a5f5dd39b6ae09e64
|
|
BLAKE2b-256 checksum How to use checksums |
2425a4c66befbd4e194a111817334fb72f9a872d57fa40dfeb409571af101599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|