Extend Virtual Interface functionality to better support SRIOV Virtual Functions #4072

Closed
opened 2025-12-29 18:32:58 +01:00 by adam · 2 comments
Owner

Originally created by @GR360RY on GitHub (Sep 6, 2020).

Environment

  • Python version: 3.8.5
  • NetBox version: 2.8.6

Proposed Functionality

Add ability to specify "Parent Interface" for "Virtual" Interface Type. Allow "Virtual" Interface type to be part of the LAG interface. Use similar UI as for setting "Parent Lag".

See mockup below:

Screen Shot 2020-09-06 at 8 42 49 Screen Shot 2020-09-06 at 8 24 30

Use Case

In my case SRIOV Virtual Functions are used for Network Adapters (10, 50 and 100Gbit/s) to simplify management, partition traffic and allow granular bandwidth control. For all intends and purposes the virtual function interface behaves similarly to a regular interface that is connected to the switch (with its own MAC, IP and VLAN), but it shares the “same link” as a parent interface (physical function).

Being able to assign an optional "Parent Interface" to the "Virtual" one will greatly simplify the process of debugging network issues, as I will be able find the exact parent interface the virtual interface "resides on". Together with that, I use virtual functions as part of the bond interface and the current virtual interface model prevents the virtual interface to be part of the LAG.

As a bonus feature this will also allow to model shared BMC/IMPI interfaces closer to the real world scenario without converting Interface Mac Address field to list as proposed in #4867.

Database Changes

TBD

External Dependencies

None

Originally created by @GR360RY on GitHub (Sep 6, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.8.5 * NetBox version: 2.8.6 <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Add ability to specify "Parent Interface" for "Virtual" Interface Type. Allow "Virtual" Interface type to be part of the LAG interface. Use similar UI as for setting "Parent Lag". See mockup below: <img width="863" alt="Screen Shot 2020-09-06 at 8 42 49" src="https://user-images.githubusercontent.com/828309/92319718-f4372e00-f023-11ea-8f19-935e32c9fe15.png"> <img width="1613" alt="Screen Shot 2020-09-06 at 8 24 30" src="https://user-images.githubusercontent.com/828309/92319732-087b2b00-f024-11ea-9d86-97facca709c8.png"> <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case In my case SRIOV Virtual Functions are used for Network Adapters (10, 50 and 100Gbit/s) to simplify management, partition traffic and allow granular bandwidth control. For all intends and purposes the virtual function interface behaves similarly to a regular interface that is connected to the switch (with its own MAC, IP and VLAN), but it shares the “same link” as a parent interface (physical function). Being able to assign an optional "Parent Interface" to the "Virtual" one will greatly simplify the process of debugging network issues, as I will be able find the exact parent interface the virtual interface "resides on". Together with that, I use virtual functions as part of the bond interface and the current virtual interface model prevents the virtual interface to be part of the LAG. As a bonus feature this will also allow to model shared BMC/IMPI interfaces closer to the real world scenario without converting Interface Mac Address field to list as proposed in #4867. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes TBD <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies None
adam closed this issue 2025-12-29 18:32:58 +01:00
Author
Owner

@candlerb commented on GitHub (Oct 6, 2020):

Relates to #1519 (associating a virtual interface to a parent physical interface)

@candlerb commented on GitHub (Oct 6, 2020): Relates to #1519 (associating a virtual interface to a parent physical interface)
Author
Owner

@jeremystretch commented on GitHub (Oct 14, 2020):

Seems like this would be addressed by #1519, so I'm going to close this out. Please feel free to add any additional comments/concerns under that issue.

@jeremystretch commented on GitHub (Oct 14, 2020): Seems like this would be addressed by #1519, so I'm going to close this out. Please feel free to add any additional comments/concerns under that issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4072