Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Infiniband interfaces #1941

Closed
callumstrubi opened this issue Mar 2, 2018 · 16 comments · Fixed by #3565
Closed

Add support for Infiniband interfaces #1941

callumstrubi opened this issue Mar 2, 2018 · 16 comments · Fixed by #3565
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application

Comments

@callumstrubi
Copy link

Issue type

[x] Feature request
[ ] Bug report
[ ] Documentation

Environment

  • Python version: 3.4.1
  • NetBox version: 2.2.10

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.
screen shot 2018-03-01 at 11 11 14

Reference:
https://en.wikipedia.org/wiki/InfiniBand

@jeremystretch jeremystretch added the status: under review Further discussion is needed to determine this issue's scope and/or implementation label Mar 7, 2018
@callumstrubi
Copy link
Author

Happy to provide feedback if you need it, though I'm not sure what I'm answering.

@Phhere
Copy link

Phhere commented 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 jeremystretch added status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application API change and removed status: under review Further discussion is needed to determine this issue's scope and/or implementation labels Jul 18, 2018
@netbox-community netbox-community deleted a comment from ankerstal Aug 22, 2018
@netbox-community netbox-community deleted a comment from lewistu Aug 22, 2018
@netbox-community netbox-community deleted a comment from wenners Aug 22, 2018
@jeremystretch
Copy link
Member

I'm not familiar with Infiniband myself, so a pull request adding the appropriate types to IFACE_FF_CHOICES would be greatly appreciated.

@DanSheps
Copy link
Member

DanSheps commented 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:

  • CXP
  • QSFP

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:

  • SDR
  • DDR
  • FDR
  • etc

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
Copy link
Contributor

candlerb commented Feb 7, 2019

Maybe it is possible to create a new database table for all interface types? so users can add their own interface types.

FYI, that was discussed in #84 and #97 but is currently rejected.

@DanSheps
Copy link
Member

DanSheps commented Feb 7, 2019

From #1865

The litmus test for whether something counts as a network interface is generally "can you put an IP address on it, and is it still in common use?" Additionally, "form factor" is a misnomer in this instance (I'd actually like to rename it a some point) as it describes a physical interface type like 1000BASE-TX or SFP+. So we wouldn't add RJ-45, for example, because several Ethernet standards employ it. And I don't know of any DB25/DE9 interfaces which support IP routing still in common use.

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
Copy link

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
Copy link
Member

#2849 is open and awaiting feedback. Have you looked at it?

@cmacnevin
Copy link

It looks like it was already committed to develop? Any idea when that will be folded into the main release? Thanks!

@DanSheps
Copy link
Member

It looks like it was already committed to develop? Any idea when that will be folded into the main release? Thanks!

No, it is a pull request which is requesting permission to merge the change into develop.

@jeremystretch
Copy link
Member

For everyone who claims they want to see this added, #2849 has been open for months with virtually no feedback.

@wols
Copy link

wols commented 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

  • 1PPS (BNC)
  • Serial Timestring (SubD9)

@jeremystretch
Copy link
Member

NetBox only models network interfaces.

@wols
Copy link

wols commented 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
Copy link
Member

Strictly speaking, power and console are also not network interfaces

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
Copy link

cmacnevin commented May 28, 2019 via email

jeremystretch added a commit that referenced this issue Oct 7, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jan 15, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Projects
None yet
7 participants