mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-13 13:53:31 +01:00
Add support for FibreChannel WWNs for interfaces #1093
Closed
opened 2025-12-29 16:28:44 +01:00 by adam
·
22 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#1093
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 @kicker69101 on GitHub (Jul 12, 2017).
Originally assigned to: @jeremystretch on GitHub.
Issue type: Can't populate FC WWNs
Python version:2.7.5
NetBox version:2.0.9
I'm unable to add wwns to fc connections. It doesn't have wwn entry, but it does have a mac. When I put it in the mac spot, it states its invalid mac entry (which would make some sense because wwns are longer). Please allow FC connections to be able to input wwns like it should.
@jeremystretch commented on GitHub (Jul 12, 2017):
This feature request lacks sufficient detail to be actionable. Per the contributing guidelines:
Please extend the request so that it meets all of these requirements. If no response is received within a week, this issue will be closed.
@jeremystretch commented on GitHub (Jul 19, 2017):
Closing due to lack of reply
@Gelob commented on GitHub (Sep 6, 2017):
I'd like to re-open this feature request.
When editing an interface if the Form Factor is FiberChannel we should allow entering a WWN.
You could just expand the MAC Address field to allow the syntax of WWNs or we could display another field for WWN if == FiberChannel.
There are apparently three different types of WWNs
Original, Registered, and Mapped EUI-64
More info is here: https://en.wikipedia.org/wiki/World_Wide_Name
@jeremystretch commented on GitHub (Sep 12, 2017):
FYI NetBox uses the PostgreSQL
macaddrdata type to store MAC addresses, which would not accommodate WWNs.@Zek99 commented on GitHub (Oct 26, 2018):
I was reviewing NetBox for our System Administrators but found the lack of EUI-64 support to be a deal breaker.
As of PostgreSQL v10 it has a data type for EUI-64: macaddr8.
Other than changing the minimum PostgreSQL version, do you have any other ideas on how to achieve EUI-64 support? Storing it as 64bit integer?
@cpjs commented on GitHub (Nov 15, 2018):
We are currently rolling out netbox at our place replacing Excel spreadhseets. So far it has been pretty accomodating. But there does seem to be a few features lacking - currently not being able to add the wwpn for our fibre channel interfaces is a little disapointing as most of the things we've found lacking were around virtual machines/servers/etc.
+1 for this feature.
@nickel820 commented on GitHub (Feb 10, 2020):
Not sure if there's a better place to vote for this issue, but I'd also like to see Netbox able to record WWNs per interface.
@moobys commented on GitHub (Feb 21, 2020):
We are trying to keep track of WWNs in the netbox description fields. It would be great if WWNs could be assigned to interfaces like MAC addresses do.
@christensen-b commented on GitHub (Sep 16, 2020):
I would like to see WWPN available as a searchable field on interfaces. I was testing if this would work using tags, or adding to the description field, but I couldn't locate these test interfaces with a search.
@ericgeldmacher commented on GitHub (Oct 12, 2020):
+1 for EUI-64 support to track WWNs and InfiniBand GUIDs on interfaces.
Edit:
Alternatively, the ability to add custom fields to interfaces would work for me.
@a31amit commented on GitHub (Oct 13, 2020):
+1 for EUI-64 WWNs and InfiniBand GUIDs support
@lastwednesday commented on GitHub (Oct 26, 2020):
This is a key feature for my usage for the product as well. So far I've been having to just make note of the WWN into the Label field for a Rear Interface.
@jeremystretch commented on GitHub (Oct 27, 2020):
Per the contributing guide:
This feature request has been open for three years yet has exactly one +1 vote despite all the comments above indicating support.
@lastwednesday commented on GitHub (Dec 17, 2020):
If I could add a use case for this as well, I have been doing a lot of work lately to automate pulling inventory information from Brocade Network Advisor in order to be able to populate status and connections into Netbox, eg for updating port labels based on what is currently logged into the switch on a particular port. The API data I get back from the requests always contains the WWN of the switch port as the key/ID for the stanza, so being able to then query that WWN against the Netbox API to find what Netbox has for that particular interface ID, so as to be able to run a Patch against it would very much simplify the process.
@jeremystretch commented on GitHub (Dec 17, 2020):
This issue has been open a for several years, so I'd love to lock down the specific change being proposed. I'm not very familiar with FibreChannel so I really need the community's help here.
Is it sufficient to simply add a
macaddr8field namedwwnto the Interface model? If so, would it make sense to add to VMInterface as well?I'm okay with bumping the minimum PostgreSQL version to 10 in v2.11 since support for 9.6 is being dropped next year.
@lastwednesday commented on GitHub (Dec 17, 2020):
I agree that these fields would be useful for the VMInterface model as well so that the WWN/WWPN of VMHBAs could be tracked there.
From my perspective I would say what would be most useful would be macaddr8 fields on the Interface for:
Appreciated but not mandatory would be macaddr8 fields on the Interface for:
The latter two would be most helpful in cases where we want to mark an interface with the details of what occupies it without necessarily having to create a DCIM entry for the end device and cabling, since in many cases those end devices are not under our management, so tracking them in our own DCIM would get to be a lot of overhead.
In cases where cabling is added between interfaces, one could have the Remote WWN/WWPN fields on either side automatically updated based on the WWN/WWPN of the interface it is being cabled to, but this isn't necessary, just an idea.
@cpmills1975 commented on GitHub (Dec 18, 2020):
I'm all for supporting FC as if it uses physical infrastructure it should be documented. But would the addition of more fields to the existing interface forms be appropriate? Since WWN and WWPN presumably (I am equally in the dark on FC) are only relevant to FC and not Ethernet, I'm thinking they shouldn't be present on the Ethernet interface form. Presumably Parent LAG is only relevant to Ethernet and not FC so the same could be applied in reverse.
Note I am referring to form here. Adding a whole new Interface model seems excessive for a couple of new fields so would it be possible to modify the form dynamically based on whether a drop down is set to Ethernet or Fibre Channel or something?
@speakster17 commented on GitHub (Dec 21, 2020):
I would like to add a vote for the feature of being able to add WWN to devices.
We have moved to NetBox for all tracking and one of the last things missing is ability to add the WWN for switches and fiber tracking.
@kicker69101 commented on GitHub (Dec 21, 2020):
I no longer have skin in the game because I no longer support netbox at my Org.
With that stated, I believe the easiest approach would be to have the mac address field support both macs and wwns since they are pretty much the same thing (albeit they are used quite a bit differently). We could rename the field to machine address or similar and have a mac and wwn property that could be used to format the data differently and/or other magic sauce.
I'm not so sure about tracking WWPN, because that doesn't really represent the hardware and can change at any moment. Upon change then there would need to be an outside force to update the db. A change could be a simple vm migration from one hypervisor to another. I would much rather see a field for virtual macs/wwns than a wwpn field. But maybe a metadata field or table could be useful to satisfy the needs of virtual addresses, WWPNs, or any other bit of info that is useful for your Org?
I would suggest that we move the MAC/wwn validation and handling out of the db and into code base, because then you can support any database that Django supports. Then the database isn't really a concern for netbox to handle, you will just link them the correct django docs and let them handle it. AFAIK this is the only reason Postgres is required.
I am familiar (but rusty) with FC, so if I'm willing to answer questions about it if wanted.
@jeremystretch commented on GitHub (Dec 21, 2020):
This isn't tenable because we need to know what type the address is for proper validation. What we could do, though, is add a discrete
wwnfield, and provide an attribute on the model (e.g.l2_address) that would return whichever value is set.Supporting anything beyond PostgreSQL isn't a design goal, and likely never will be. There are myriad other aspects that would need to be considered beyond this field type, anyway.
@lastwednesday commented on GitHub (Jan 12, 2021):
Would it be acceptable to look at just adding the WWN field as an option and then if we need further details those could be custom fields if the organization requires?
Cables at least can support custom fields. It doesn't appear that Interfaces do so far but I believe there's a feature request out there to add custom fields to other models.
@mgoetze5 commented on GitHub (Feb 7, 2021):
My organization is currently looking to move to NetBox, and from my point of view,
would be both necessary and sufficient (assuming you can search on this field). For our usecase we wouldn't need it on VMInterface, but in general I would consider that valid so it should also be supported.