New Virtual Interface Type - Bridge #4325

Closed
opened 2025-12-29 18:34:45 +01:00 by adam · 11 comments
Owner

Originally created by @adamboutcher on GitHub (Dec 2, 2020).

Environment

  • Python version: 3.6.8
  • NetBox version: 2.9.8

Proposed Functionality

Can we add Bridge as an Interface type that allows parent/child on interfaces.

Use Case

Would help document virtual bridges much like LAGs.
Would need to accept LAGS to be a child of a BRIDGE.

Database Changes

External Dependencies

Originally created by @adamboutcher on GitHub (Dec 2, 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/g/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.6.8 * NetBox version: 2.9.8 <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Can we add Bridge as an Interface type that allows parent/child on interfaces. <!-- 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 Would help document virtual bridges much like LAGs. Would need to accept LAGS to be a child of a BRIDGE. <!-- 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 <!-- 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
adam added the type: feature label 2025-12-29 18:34:45 +01:00
adam closed this issue 2025-12-29 18:34:45 +01:00
Author
Owner

@MajesticFalcon commented on GitHub (Dec 3, 2020):

Are you creating a software bridge inside of a router? Is it a VLAN aware bridge? If so, would just assigning the vlan memberships be enough to show correlation between ports?

@MajesticFalcon commented on GitHub (Dec 3, 2020): Are you creating a software bridge inside of a router? Is it a VLAN aware bridge? If so, would just assigning the vlan memberships be enough to show correlation between ports?
Author
Owner

@adamboutcher commented on GitHub (Dec 3, 2020):

It's simply a bridge inside a linux router (eg vmbr0).

Our usecase is that we bond multiple interfaces and then add that bond to a bridge.

eth[0-1] -> bond0 -> vmbr0

@adamboutcher commented on GitHub (Dec 3, 2020): It's simply a bridge inside a linux router (eg vmbr0). Our usecase is that we bond multiple interfaces and then add that bond to a bridge. eth[0-1] -> bond0 -> vmbr0
Author
Owner

@jeremystretch commented on GitHub (Dec 3, 2020):

What would be the practical difference between a "virtual" interface and a "bridge" interface?

@jeremystretch commented on GitHub (Dec 3, 2020): What would be the practical difference between a "virtual" interface and a "bridge" interface?
Author
Owner

@adamboutcher commented on GitHub (Dec 3, 2020):

Nothing if you could parent/child a virtual interface.

LAG can only be a parent.
Interfaces can only be children.

If you could make a LAG a child to a Virtual Interface then that would work.

A change to the whole parent/child of interfaces and lags to be less strict would allow for more accurate documentation.

I merely suggested bridge as my use case and kept with the current more strict existing code.

@adamboutcher commented on GitHub (Dec 3, 2020): Nothing if you could parent/child a virtual interface. LAG can only be a parent. Interfaces can only be children. If you could make a LAG a child to a Virtual Interface then that would work. A change to the whole parent/child of interfaces and lags to be less strict would allow for more accurate documentation. I merely suggested bridge as my use case and kept with the current more strict existing code.
Author
Owner

@jeremystretch commented on GitHub (Dec 3, 2020):

Would #1519 address this?

@jeremystretch commented on GitHub (Dec 3, 2020): Would #1519 address this?
Author
Owner

@adamboutcher commented on GitHub (Dec 3, 2020):

Similar but not exact.
The work done for that issue could be applied here though, as long as you can make a LAG a child to a Virtual Interface.

@adamboutcher commented on GitHub (Dec 3, 2020): Similar but not exact. The work done for that issue could be applied here though, as long as you can make a LAG a child to a Virtual Interface.
Author
Owner

@BarbarossaTM commented on GitHub (Dec 22, 2020):

It would be really cool to have an interface type bridge similar to the LAG type so you can set other interface to be part of this bridge. With the already existing functionality of .1q settings on interfaces it would thereby even be possible to model vlan-aware-bridges.

@BarbarossaTM commented on GitHub (Dec 22, 2020): It would be **really** cool to have an interface type bridge similar to the LAG type so you can set other interface to be part of this bridge. With the already existing functionality of `.1q` settings on interfaces it would thereby even be possible to model vlan-aware-bridges.
Author
Owner

@stale[bot] commented on GitHub (Feb 6, 2021):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Feb 6, 2021): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@BarbarossaTM commented on GitHub (Feb 7, 2021):

This still would be a really really helpful for modelling network on virtualization hosts and routers <3

@BarbarossaTM commented on GitHub (Feb 7, 2021): This still would be a really really helpful for modelling network on virtualization hosts and routers <3
Author
Owner

@blazej-czuk commented on GitHub (Mar 5, 2021):

What would be the practical difference between a "virtual" interface and a "bridge" interface?

image

@blazej-czuk commented on GitHub (Mar 5, 2021): > What would be the practical difference between a "virtual" interface and a "bridge" interface? ![image](https://user-images.githubusercontent.com/71962806/110115523-7d060b00-7db6-11eb-831c-11171dd2f3c8.png)
Author
Owner

@jeremystretch commented on GitHub (Apr 15, 2021):

NetBox v2.11 introduces parent interface assignments (see #1519), which seems like it addresses most of the desired functionality discussed here. I'm going to close this issue out, however if there's still a particular feature you believe is not addressed under #1519, I encourage you to open a new feature request (with a detailed description and use case) considering the newly introduced support for parent interfaces.

@jeremystretch commented on GitHub (Apr 15, 2021): NetBox v2.11 introduces parent interface assignments (see #1519), which seems like it addresses most of the desired functionality discussed here. I'm going to close this issue out, **however** if there's still a particular feature you believe is _not_ addressed under #1519, I encourage you to open a new feature request (with a detailed description and use case) considering the newly introduced support for parent interfaces.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4325