feature: Support vxlan 24bit segment id #847

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

Originally created by @killsudo on GitHub (Apr 9, 2017).

Add ability to convert a new vlan to vxlan to allow for a 24bit segment id outside of the 0-4096 range.
https://tools.ietf.org/html/rfc7348#page-10
Vxlans can retain the existing vlan attributes for naming and tenants.

Originally created by @killsudo on GitHub (Apr 9, 2017). Add ability to convert a new vlan to vxlan to allow for a 24bit segment id outside of the 0-4096 range. https://tools.ietf.org/html/rfc7348#page-10 Vxlans can retain the existing vlan attributes for naming and tenants.
adam closed this issue 2025-12-29 16:26:19 +01:00
Author
Owner

@jeremystretch commented on GitHub (Apr 9, 2017):

VXLAN is an entirely separate concept from traditional VLANs. The numeric range for VLAN IDs is 1-4095 as defined by IEEE 802.1Q, so that's what the VLAN model supports. Support for VXLAN would necessitate an entirely new feature.

I'll leave this open for now in case you want to propose a data model to support VXLAN. Otherwise, this can be closed out.

@jeremystretch commented on GitHub (Apr 9, 2017): VXLAN is an entirely separate concept from traditional VLANs. The numeric range for VLAN IDs is 1-4095 as defined by IEEE 802.1Q, so that's what the VLAN model supports. Support for VXLAN would necessitate an entirely new feature. I'll leave this open for now in case you want to propose a data model to support VXLAN. Otherwise, this can be closed out.
Author
Owner

@killsudo commented on GitHub (Apr 9, 2017):

For how they are being used today I would disagree. They simply define a layer2 object with a large id range when paired with evpn. With our Juniper QFX evpn fabric we have no vlans defined and instead are using vxlans. The vlan object already has the ability within netbox to cross multiple sites handling the DCI aspect of evpn/vxlan.

The way I would imagine this currently is to create a new 'vlan object' and check a box to enable 'vxlan' which would then allow you to store a 24bit segment id outside of the existing 1-4095 range.

We would then query the vlan list and check for the 'vxlan' flag to be true and capture the vxlan id via api for use in our scripts.

The only operational difference is loosing the ability to logically construct a mapping of vxlan to a vlan id at the edge for interconnecting legacy devices.

Long-term it would be nice to see vxlan functions expanded but right now I have a gaping source of truth for tracking nothing more then a 'name' and a 'segement id' to represent was is in essence a vlan object.

Ultimately I would love to see a way to represent the following

Juniper QFX switch > vxlan id > interface > logical unit > vlan-id
Juniper MX > 'tenant' > l3vpn(vrf/rd/rt/interface) > l2vpn (vrf/rd/rt/vxlan)

@killsudo commented on GitHub (Apr 9, 2017): For how they are being used today I would disagree. They simply define a layer2 object with a large id range when paired with evpn. With our Juniper QFX evpn fabric we have no vlans defined and instead are using vxlans. The vlan object already has the ability within netbox to cross multiple sites handling the DCI aspect of evpn/vxlan. The way I would imagine this currently is to create a new 'vlan object' and check a box to enable 'vxlan' which would then allow you to store a 24bit segment id outside of the existing 1-4095 range. We would then query the vlan list and check for the 'vxlan' flag to be true and capture the vxlan id via api for use in our scripts. The only operational difference is loosing the ability to logically construct a mapping of vxlan to a vlan id at the edge for interconnecting legacy devices. Long-term it would be nice to see vxlan functions expanded but right now I have a gaping source of truth for tracking nothing more then a 'name' and a 'segement id' to represent was is in essence a vlan object. Ultimately I would love to see a way to represent the following Juniper QFX switch > vxlan id > interface > logical unit > vlan-id Juniper MX > 'tenant' > l3vpn(vrf/rd/rt/interface) > l2vpn (vrf/rd/rt/vxlan)
Author
Owner

@killsudo commented on GitHub (Apr 9, 2017):

In this example we are leveraging the JunOS autovni functionality to auto-generate the route-targets per vni so we do not even need to track those within the evpn domain.

killsudo@S2CASw3> show vlans

Routing instance VLAN name Tag Interfaces
default-switch CID_Killsudo-LAN80 NA
ae32.80*
vtep.32769*
vtep.32770*
vtep.32771*
vtep.32772*
vtep.32773*

killsudo@S2CASw3> show configuration vlans CID_Killsudo-LAN80
description "CID: Killsudo - LAN80";
interface ae32.80;
vxlan {
vni 5000080;
ingress-node-replication;
}

killsudo@S2CASw3> show configuration interfaces ae32.80
description "CID: Killsudo - LAN80";
vlan-id 80;

@killsudo commented on GitHub (Apr 9, 2017): In this example we are leveraging the JunOS autovni functionality to auto-generate the route-targets per vni so we do not even need to track those within the evpn domain. killsudo@S2CASw3> show vlans Routing instance VLAN name Tag Interfaces default-switch CID_Killsudo-LAN80 NA ae32.80* vtep.32769* vtep.32770* vtep.32771* vtep.32772* vtep.32773* killsudo@S2CASw3> show configuration vlans CID_Killsudo-LAN80 description "CID: Killsudo - LAN80"; interface ae32.80; vxlan { vni 5000080; ingress-node-replication; } killsudo@S2CASw3> show configuration interfaces ae32.80 description "CID: Killsudo - LAN80"; vlan-id 80;
Author
Owner

@jeremystretch commented on GitHub (Apr 9, 2017):

Again, VLAN and VXLAN are entirely separate constructs and mixing the two will only result in confusion. I'm happy to add support for VXLANs to NetBox, but it needs an entirely new model and logic for mapping a VXLAN to other objects (including VLANs).

@jeremystretch commented on GitHub (Apr 9, 2017): Again, VLAN and VXLAN are entirely separate constructs and mixing the two will only result in confusion. I'm happy to add support for VXLANs to NetBox, but it needs an entirely new model and logic for mapping a VXLAN to other objects (including VLANs).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#847