mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Add cable trace button to front/rear ports #2266
Closed
opened 2025-12-29 17:24:20 +01:00 by adam
·
15 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#2266
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 @runeka on GitHub (Jan 8, 2019).
Proposed Functionality
View trace on patchcable between patchpanels.
Use Case
When patching through multiple patch panels it is tricky to view the end device using the patch. Would it be possible to add a link to the trace of the entire path in the cable view?
@MarcHagen commented on GitHub (Jan 11, 2019):
Just to be shure, the little blue stripe is a button. It leads to

dcim/interfaces/<id>/trace/Is this what you mean?
Just to clarify i found out about that because i was busy transforming Font Awesome to Material Design Icons.
There is a iconAdblockPlus yey...fa fa-share-altin the button but due to a error of fault it's not displaying. Not even on there own website: https://fontawesome.com/v4.7.0/icons/@runeka commented on GitHub (Jan 12, 2019):
Hi
That is from the device interface view I guess.
I mean from the cable view like: http://netbox.example.com/dcim/cables/201/ You can see where it is terminated, but not the end point interfaces and the entire trace. So if this patch cable is between two patch panels you will need to click through the panel path to view the path.
@MarcHagen commented on GitHub (Jan 12, 2019):
Oke fair point we have indeed a trace per interface, not for a cable.
But i think it's the same page to view the trace, only there is missing a quick link to that page?
Just trying to help out :)
@DanSheps commented on GitHub (Jan 14, 2019):
@runeka You can't do this with a cable, as a cable is a link between two devices. It looks like "front ports" and "rear ports" needs a cable trace like feature as well, but I am not sure how feasible that is to do. Couple questions for that:
The termination A and termination B is the full path for a "cable", there is nothing further to trace.
@runeka commented on GitHub (Jan 16, 2019):
A cable is not necessary a link between two devices, and that is the point. When a cable is a link between two front ports it is confusing to see the device interfaces. Adding a quick link to the trace between the device interfaces, that the cable is part of would be perfect.
The reason I am asking for it is that I have some long patches like: DeviceInterface - Cable#144 - FrontPort - RearPorts - FrontPort - Cable#145 - FrontPort - RearPorts - FrontPort - Cable#146 - DeviceInterface. When searching in Netbox for cable that is physically labeled Cable#145 it is hard to see what device is using the cable and if it is in use or not. Cable#145 is connected to FrontPorts and seems to be in use, but might not be.
In my case I have a MeetMeRoom with a lot of labeled patch cables between FrontPorts, But there are no interfaces in that rack or room showing the trace. A trace on FrontPorts like there is on DeviceInterfaces would also do the trick.
@tb-killa commented on GitHub (Jan 17, 2019):
From my point of view I agree @runeka here.
We also have several hops about patch fields in many places.
What is actually requested here is an extension of the "Trace" view with the possibility to perform a search or input with a jump into the trace.
Say: I have e.g. the Device XYZ with the interface XYZ and see the Trace view always in the complete path (if available!).
For example, if I am in the cable view, I can also click on a link and jump to the trace view and see the complete path (if available!).
At the first the interface is passed as search, at the second the cable-ID or the label.
Am I right here with my guess @runeka ??
@runeka commented on GitHub (Jan 17, 2019):
You are right. The "Trace" button should be available for all FrontPorts and cables in the path.
@DanSheps commented on GitHub (Jan 22, 2019):
The problem with this is how do you know when to stop? Do you stop at the first front port? Do you just go until you can't go any further? Do you let the user choose?
This could be potentially incredibly burdensome on the server when trying to calculate the interface graph.
@tb-killa commented on GitHub (Jan 23, 2019):
See my Post above, from my point of view it should display the same results as given by the search of an interface as start point. Maybe this could be some sort of modal box who use ajax request to generate the result display.
Maybe we could do something with html5 (svg) if the Rack Rendering is implemented to bring the calculation of complete path on client side themselve.
@runeka commented on GitHub (Jan 23, 2019):
I agree, the exact same view as when clicking the trace on an interface. I thought this was an easy task, but I am not a software engineer.
@DanSheps commented on GitHub (Jan 23, 2019):
You guys still are not answering, how do you determine the stop point? If you are not taking interfaces into account, how do you know when to stop? What if you loop a connection together and create a ring, you could have an infinite loop so there has to be protection in there.
@tjdavis3 commented on GitHub (Jan 25, 2019):
It stops when it hits an interface.
@DanSheps commented on GitHub (Jan 25, 2019):
@tjdavis3 There might not always be an interface, that is what I am saying. With a interface, there is a clear defined end, because an interface cannot loop onto itself, you cannot have weird splitting networks either. IF you are just using front ports and rear ports, you can do all sorts of crazy things.
@tb-killa commented on GitHub (Jan 27, 2019):
@DanSheps
After review the closed issue there is a implementation for this type included and closed: Fixes #2721: Detect loops when tracing front/rear ports.
We need a simple test but this would help to close one of your arguments.
@tvberlin commented on GitHub (Feb 13, 2019):
@jeremystretch thanks for implementing!