Add ability to assign VLAN to L2VPN (type EVPN-VXLAN) #6892

Closed
opened 2025-12-29 19:46:26 +01:00 by adam · 5 comments
Owner

Originally created by @erdems on GitHub (Aug 29, 2022).

NetBox version

v3.3.1

Feature type

New functionality

Proposed functionality

EVPN provides sandboxed VLAN allocation, especially by means of (not limited to) MAC-vrf as Juniper Networks call it (RFC7432).

It is therefore possible to have the same VLAN ID in different VRFs, just like the prefixes.

Use case

In a multi-tenant provider environment, especially with DCaaS.

Database changes

  1. Add a l2vpn_id field in VLAN table.
  2. Add vlan_id and vlan_group fields to ipam_l2vpn table.
  3. Add enforce_unique field to ipam_l2vpn table, referring to VLANs.

External dependencies

None.

Originally created by @erdems on GitHub (Aug 29, 2022). ### NetBox version v3.3.1 ### Feature type New functionality ### Proposed functionality EVPN provides sandboxed VLAN allocation, especially by means of (not limited to) MAC-vrf as Juniper Networks call it (RFC7432). It is therefore possible to have the same VLAN ID in different VRFs, just like the prefixes. ### Use case In a multi-tenant provider environment, especially with DCaaS. ### Database changes 1. Add a l2vpn_id field in VLAN table. 2. Add vlan_id and vlan_group fields to ipam_l2vpn table. 3. Add enforce_unique field to ipam_l2vpn table, referring to VLANs. ### External dependencies None.
adam added the type: featurepending closurestatus: revisions needed labels 2025-12-29 19:46:26 +01:00
adam closed this issue 2025-12-29 19:46:27 +01:00
Author
Owner

@DanSheps commented on GitHub (Aug 29, 2022):

Thank you for your interest in extending NetBox. Unfortunately, the information you have provided does not constitute an actionable feature request. Per our contributing guide, a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.

@DanSheps commented on GitHub (Aug 29, 2022): Thank you for your interest in extending NetBox. Unfortunately, the information you have provided does not constitute an actionable feature request. Per our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md), a feature request must include a thorough description of the proposed functionality, including any database changes, new views or API endpoints, and so on. It must also include a detailed use case justifying its implementation. If you would like to elaborate on your proposal, please modify your post above. If sufficient detail is not added, this issue will be closed.
Author
Owner

@erdems commented on GitHub (Aug 29, 2022):

Hello, edited as best as I could.

@erdems commented on GitHub (Aug 29, 2022): Hello, edited as best as I could.
Author
Owner

@robertlynch3 commented on GitHub (Aug 30, 2022):

I believe this is already possible, but it's somewhat confusing. You can link a VXLAN termination to vlan directly, and netbox allows you to have multiple VLANs with the same VLAN ID. The hard part is determining where that vlan (not the ID necessarily but that specific layer2 domain) is.

I'd love to be able to say vxlan VNI 1234 is terminate on switch1 as vlan-id 1, and on switch2 as vlan-id 2 (which is possible as I said above, but its hardish).

@robertlynch3 commented on GitHub (Aug 30, 2022): I believe this is already possible, but it's somewhat confusing. You can link a VXLAN termination to vlan directly, and netbox allows you to have multiple VLANs with the same VLAN ID. The hard part is determining where that vlan (not the ID necessarily but that specific layer2 domain) is. I'd love to be able to say vxlan VNI 1234 is terminate on switch1 as vlan-id 1, and on switch2 as vlan-id 2 (which is possible as I said above, but its hardish).
Author
Owner

@DanSheps commented on GitHub (Aug 30, 2022):

I believe this is already possible, but it's somewhat confusing. You can link a VXLAN termination to vlan directly, and netbox allows you to have multiple VLANs with the same VLAN ID. The hard part is determining where that vlan (not the ID necessarily but that specific layer2 domain) is.

Are you talking about filtering? We could possibly expand the filtering on the vlan portion.

@DanSheps commented on GitHub (Aug 30, 2022): > I believe this is already possible, but it's somewhat confusing. You can link a VXLAN termination to vlan directly, and netbox allows you to have multiple VLANs with the same VLAN ID. The hard part is determining where that vlan (not the ID necessarily but that specific layer2 domain) is. Are you talking about filtering? We could possibly expand the filtering on the vlan portion.
Author
Owner

@erdems commented on GitHub (Aug 31, 2022):

I believe with the current model, it's near impossible to properly plan (or reflect) a many-to-many L2VPN; such as a MAC VRF or EVPN/VXLAN. These are almost always used for multiple endpoints, so almost never as P2P 'terminations'.

I have tried @rml596 's suggestion and got even more confused :)

My proposal is that the relation between a prefix/ip address and VRF should be mimicked between a VLAN and certain L2VPN types, at least the ones that support P2MP modeling.

@erdems commented on GitHub (Aug 31, 2022): I believe with the current model, it's near impossible to properly plan (or reflect) a many-to-many L2VPN; such as a MAC VRF or EVPN/VXLAN. These are almost always used for multiple endpoints, so almost never as P2P 'terminations'. I have tried @rml596 's suggestion and got even more confused :) My proposal is that the relation between a prefix/ip address and VRF should be mimicked between a VLAN and certain L2VPN types, at least the ones that support P2MP modeling.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#6892