mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
Add support for Infiniband interfaces #1598
Closed
opened 2025-12-29 16:33:19 +01:00 by adam
·
16 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#1598
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 @callumstrubi on GitHub (Mar 2, 2018).
Issue type
[x] Feature request
[ ] Bug report
[ ] Documentation
Environment
Description
Infiniband is a commonly used verbs communication protocol that is commonly used for high performance computing. Whilst adapters and connectors follow the same form factor as some ethernet, their available protocols are very different. Another factor is that a single form factor connector may support different protocols, and critically the DAC itself has specific protocol support too, so specifying what the protocol is supported on the NIC is critical.
Proposal:

Add all Infiniband interfaces as their protocols within their own category.
Reference:
https://en.wikipedia.org/wiki/InfiniBand
@callumstrubi commented on GitHub (Mar 8, 2018):
Happy to provide feedback if you need it, though I'm not sure what I'm answering.
@Phhere commented on GitHub (Apr 13, 2018):
Maybe it is possible to create a new database table for all interface types? so users can add their own interface types. We could also need MPO (https://en.wikipedia.org/wiki/Optical_fiber_connector)
@jeremystretch commented on GitHub (Nov 28, 2018):
I'm not familiar with Infiniband myself, so a pull request adding the appropriate types to IFACE_FF_CHOICES would be greatly appreciated.
@DanSheps commented on GitHub (Feb 6, 2019):
This was brought up in IRC as the PR has been put through, and after reviewing some of the documentation, I think this issue should be changed from adding to the form factors to adding to the cable types. My read on Infiniband is that there are two common form factors: CXP & QSFP. The SDR/DDR/FDR/etc are all underlying protocols and cable configurations that are supported by those form factors.
I think it would be a good idea to add "Infiniband" to the form factor list and then add the following form factors:
This follows the same vein as FibreChannel where there is a different procotol at work but they use the same form factors.
Then, include the cables as the data rate definers for Infiniband with:
However, with the recent PR for DAC/AOC cables, we did not define speed there, so that may not be something we want to do with cables either. What is really needed to properly model this is a "module" section where you connect a module, and that module defines the datarate.
My question would be, for someone with an Infiniband switch/device, how does the interface present if you are using a SDR/DDR/FDR etc. Is it defined in the name? If so, then we don't need to worry about the speeds at all.
@candlerb commented on GitHub (Feb 7, 2019):
FYI, that was discussed in #84 and #97 but is currently rejected.
@DanSheps commented on GitHub (Feb 7, 2019):
From #1865
I think this hits the nail on the head. Since the Infiniband interfaces aren't physical interfaces, they shouldn't be included in the list themselves. Instead, an Infiniband category and QSFP and CXP are the way forward IMO.
@cmacnevin commented on GitHub (Mar 14, 2019):
Is there any further movement on this issue? The database / YAML file / whatever for defining our own interface types is still the fastest way to work around limitations in existing supported protocols, but at any rate, Infiniband is important and widely used, and we'd like to incorporate it as a use case.
@jeremystretch commented on GitHub (Mar 14, 2019):
#2849 is open and awaiting feedback. Have you looked at it?
@cmacnevin commented on GitHub (Mar 14, 2019):
It looks like it was already committed to develop? Any idea when that will be folded into the main release? Thanks!
@DanSheps commented on GitHub (Mar 14, 2019):
No, it is a pull request which is requesting permission to merge the change into develop.
@jeremystretch commented on GitHub (Apr 16, 2019):
For everyone who claims they want to see this added, #2849 has been open for months with virtually no feedback.
@wols commented on GitHub (May 27, 2019):
I do not need an InfiniBand myself, but I would very much like to be able to define my own interfaces:
We have NTP servers witch 4 x Ethernet and 2 x Power Supply (all no problem) and additional
@jeremystretch commented on GitHub (May 27, 2019):
NetBox only models network interfaces.
@wols commented on GitHub (May 27, 2019):
I understand and accept the argumentation in #84, #97 and #1865.
Strictly speaking, power and console are also not network interfaces - but useful for comprehensive documentation ;-)
My wish is for a complete picture of the necessary connections - achievable with a little flexibility: a user defined list behind "Form factor > Other" can give "Console / Power / Others".
Please!
@jeremystretch commented on GitHub (May 28, 2019):
Which is why NetBox uses different models for each of these. The subject of this FR is Infiniband specifically; let's keep the conversation on-topic please.
@cmacnevin commented on GitHub (May 28, 2019):
Infiniband is L2 networking, over which one can run IP, similar to how
Ethernet is l2 and you can run IP on it. That's not the native
method, but most of the interfaces we run IP on didn't start that way
either.
It's being used a lot in high performance compute environments, and since
people are deploying machine learning and big data
clusters a lot these days, its role in data centers will continue to
expand.
I can see why there's a perceived difference between IB and ethernet, in
the same way that people might think of it just as a replacement
for FiberChannel, but even FiberChannel is a networking technology which we
need to track in our data centers, in the same way
we're now tracking cables and patch panels, if nothing else.