mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-13 13:53:31 +01:00
Optical / Transport layer interfaces addition in interface type #9810
Open
opened 2025-12-29 21:23:01 +01:00 by adam
·
9 comments
No Branch/Tag Specified
main
21102-fix-graphiql-explorer
update-changelog-comments-docs
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#9810
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @tadew7 on GitHub (Jun 6, 2024).
NetBox version
v4.0.3
Feature type
Data model extension
Proposed functionality
Currently we can select electrical layer interfaces in Netbox. They could be Eth or SDH interface. For DWDM or Optical transport layer. There are some optical layer interfaces and connectivity persists. OTN layers are OPU, ODU, OTU, OCH, OMS, OTS and two types of supervisory channels (OSC, ESC). Is it possible to add or customize OTN layers in the interface type. At least an option such as optical / WDM in interface type would be great.
Use case
In that case we can perfectly model DWDM / optical transport equipment and its connectivity in Netbox.
Database changes
Need to add in Interface type Field. No change in other section.
External dependencies
No response
@PaulR282 commented on GitHub (Jun 11, 2024):
https://plugin-ideas.netbox.dev/ideas/PLUGINS-I-35
This plugin idea exists. I think it should fulfill your requirements once it is developed.
@sleepinggenius2 commented on GitHub (Jun 11, 2024):
The plugin would help with modeling the connection piece, but not the interface piece, as plugins cannot currently add new interface types to the built-in interface type choices, although that is something that would be cool to have support for. I'm currently modeling our optical transport/ROADM network and have definitely been hit by this limitation. I've ended up with a lot of Virtual and Other type interfaces and we ultimately added a custom field to the Interface model to further clarify the type. Unfortunately, that cannot be set as part of a device or module type, and having an extra column in the table not only takes space, but users have to remember to add it, so it's a bit of a cumbersome solution, but workable for now. With the ability for plugins to inject columns into tables now, there are some options to address things through that mechanism, but I haven't explored that yet.
The one limitation I currently see with this proposal is that for something like the OTU layer (and ultimately ODU and OPU), do you break out separate types for the different OTUk values? Knowing it's OTU is great, but being able to differentiate between OTU2 and OTU2e or OTU4/OTUC2/OTUC4 would also be important. Yes, you could use the speed field, but do you use the data rate or signal rate, and it's non-trivial to remember that OTU2 is 10/10.7 Gbps versus OTU2e is 10.5/11.1 Gbps. Also, for an ODU2, the date rate is ~10.0372739240506 Gbps and ODU2e is ~10.3995253164557 Gbps, which nobody is ever going to remember.
@jeffgdotorg commented on GitHub (Jun 11, 2024):
This feature sounds highly valuable, particularly to service providers. We'll need to draw on the knowledge of the community for understanding of the particulars, as the core developers all find this topic area fascinating but also well outside our expertise.
@PaulR282 good spotting on the ideas board, though I agree with @sleepinggenius2 there's likely to be some foundational work needed in core NetBox to give OTN a proper representation.
@tadew7 please do take a look at the plugin idea linked above in comments. Then please come back here and revise your issue body to flesh it out a bit more. I can see this FR spawning a long-running conversation.
@sleepinggenius2 commented on GitHub (Jun 12, 2024):
@jeffgdotorg There was talk a few months back about setting up a service provider working group, but I never saw anything come of it. I think this would be a perfect item to cover in a forum like that. I'm available on Slack, if I can help with that effort.
@jeffgdotorg commented on GitHub (Jun 12, 2024):
@sleepinggenius2 agreed! I don't know how to find you on NetDev Slack but I'm easy to track down there, please reach out.
@tadew7 commented on GitHub (Jun 12, 2024):
@sleepinggenius2 Thank you for your reply. I do agree. Adding device and module type would be helpful but if it is difficult then we can skip that. From user end I would know based on interface type that it is optical/ transport equipment.
Yes, we do break separate types of ODUk based on user's requirement. To be honest we are more concerned to add optical layer interfaces of DWDM layer. Because technically we can express ODUk to different data rate to like ~10G, ~40G, ~100G etc. And adding different types of ODUk (ODU 0, 1, 2, 2e, 3, 3e2, 4, flex) interfaces could make it clumsy.
But when signal convert to optical layer then it hard to express. So, we could keep it like that in a simplex from.
Electrical Layer:
These are sub-layer of OCH.
Optical Layer:
In addition, we can provision for adding supervisory signal. In DWDM we use any one of below two types of signals.
@jeffgdotorg I have shared some outline here. We can follow RFC 3591 to make it standardize for all.
https://datatracker.ietf.org/doc/html/rfc3591
But if we need more technical details, then I can find out some documents which are available online.
Please reach out for any issues. Happy to help.
@github-actions[bot] commented on GitHub (Jun 26, 2024):
This is a reminder that additional information is needed in order to further triage this issue. If the requested details are not provided, the issue will soon be closed automatically.
@tadew7 commented on GitHub (Jun 26, 2024):
Hi everyone! Would you please share if you guys need any details?
@jeffgdotorg commented on GitHub (Jul 3, 2024):
This FR will certainly need detailing and breaking down into smaller sub-issues, but it aligns with our roadmap and already captures some good conversation so I'm backlogging it.