mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-12 05:20:31 +01:00
Add Twinax cable support #2205
Closed
opened 2025-12-29 17:23:34 +01:00 by adam
·
10 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
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#2205
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 @swerveshot on GitHub (Dec 12, 2018).
Change Type
[X] Addition
[ ] Correction
[ ] Deprecation
[ ] Cleanup (formatting, typos, etc.)
Environment
Python version: 3.6.7
NetBox version: v2.5.0
Proposed Functionality
When observing the available cable types in the connection section of the devices menu I noticed the usual suspects for copper and optical fibre. But I'm missing a less used one. A Cisco SFP+ Twinax copper cable. Details can be found here: https://www.cisco.com/c/en/us/products/collateral/interfaces-modules/transceiver-modules/data_sheet_c78-455693.html
Could you please add this cable type to netbox? I'll try to do it myself but haven't looked at the files related to this type of change before.
@DanSheps commented on GitHub (Dec 12, 2018):
Here is all the code that would probably be required:
In netbox\dcim\constants.py (around line 328):
add to the start of the array for "copper" (around line 346 after the previous changes):
add to the start of the array for "fiber" (around line 358 after the previous changes):
Of course, @jeremystretch might suggest better #'s for the ID's
@ghost commented on GitHub (Dec 18, 2018):
Just came across this today. Would love to have aoc and dac as cable options.
@jeremystretch commented on GitHub (Dec 19, 2018):
I don't think we would have separate types for DAC and Twinax, would we? My (possibly wrong) understanding is that Twinax is the physical medium employed by direct-attach copper cabling (DAC).
Seems like there should be three classes of direct-attach cabling:
Hopefully someone with more hands-on experience can chime in.
@rdegez commented on GitHub (Dec 20, 2018):
As DAC cables kind of embed transceivers on each side I guess we need various declinaison (for each types of supported transceiver interface).
Most common would be
To complicate things further : a lot of DAC cables types are actually not symetrical.
Some switchs support "agileports" with the ability to split à single QSFP port to 4x10Gbe link for instance.
QSFP breakout to 4 x SFP+ DACs are very common as it's a VERY cheap way to connect 4 servers with 10Gbe NIC to a single QSFP switch port. QSFP28 breakout to 4xSFP28 as well.
Supporting them would require 1:N mapping. Don't know if the netbox datamodel can handle these.
And what about fiber breakout cables with say 12/24/48 MMF or SMF in a single cable ? They would require N:N mapping :-)
@jeremystretch commented on GitHub (Dec 20, 2018):
@rdegez The only thing we're concerned with here is the medium classification; interface speed is represented by the interface type. Additionally, NetBox does not model breakout cables; each channel in a 4x10GE breakout should be modeled as a separate interface with its own cable.
@rdegez commented on GitHub (Dec 20, 2018):
@jeremystretch
Ok, thanks for the clarification on breakout cables. I guess this limitation can be overcome by specifing the same cable label to group these. (and creating 'subinterfaces' directly in the device as you said)
But the need for differentiation between SFP/SFP+, QSFP & QSFP28 DAC cables stands I guess ?
Otherwise why differentiate cat4/5/5e/6 RJ45 copper cables ?
Would be nice to make the "Cable Types" customizable like devices types / cluster types / prefix roles / etc...
@ghost commented on GitHub (Dec 20, 2018):
I agree with direct attach top level cable type with passive copper, active copper, and active optical as selectable options. Twinax is copper cable type used in either active or passive copper DACs. It could be said these are active or passive twinax cables. That said AOC is not refered to as active multimode fiber. I would suggest going with the more generic copper/optical terms.
@DanSheps commented on GitHub (Dec 30, 2018):
Yeah, I don't really use active copper as generally at the lengths where I need active I am using optical. I updated my code, but if no one else wants to implement this I can do the PR since it is fairly straight forward.
@zsandrus commented on GitHub (Jan 7, 2019):
We use these cables fairly heavily in our environment. This includes Active and Passive DAC and AOC cables for SFP/SFP+/SFP28/QSFP/QSFP28 connections. I don't see any reason to separate the connector type since that is on the interface, but I think that the three cable types should be available.
@swerveshot commented on GitHub (Jan 9, 2019):
The scope of this issue has grown a bit beyond the initial request. But that's okay. At least there's a relevant discussion on which cable types to include.
Yes @jeremystretch a Twinax cable is a DAC that has both passive (1m-5m) and active (7m, 10m) variants. As far as I know it only comes in a SFP+ form factor.
Now @rdegez brings up a good point on how to deal with DAC breakout cables. Now you can divide the physical interface into subinterfaces on a device. That's easy. When dealing with cable types you could indeed include the transceivers as well.
This could look something like this:
Of course the transceiver form factor is determined by the interface but I think especially when using direct attached cables it actually makes sense to include the transceivers in the description as they can be different on each end of the cable such as is the case with breakout cables.