Make L2VPN identifier required and unique and add it to search index #8690

Closed
opened 2025-12-29 20:39:56 +01:00 by adam · 3 comments
Owner

Originally created by @dejantep on GitHub (Sep 28, 2023).

NetBox version

v3.5.7

Feature type

Change to existing functionality

Proposed functionality

IMHO "identifier" is the field that should enforce uniqueness because of its nature. "Identifier" field is already limited to numbers and it fits the purpose.

Apply similar functionality as to VLAN. It could be globally unique or with option to assing it to site or region depending on implementation strategy.

Add it to search index

Use case

When creating L2VPNs field "slug" is used to enforce uniqueness. It derives from human friendly field for "Name".
It's not suitable for enforcing uniqueness.

IMHO "identifier" is the field that should enforce uniqueness since all l2vpn services have an ID. It could be globally unique or with option to assing it to site or region depending on your naming strategy. Similar functionality to VLAN.

"Identifier" field is already limited to numbers and it fits the purpose.

Database changes

dont know

External dependencies

dont know

Originally created by @dejantep on GitHub (Sep 28, 2023). ### NetBox version v3.5.7 ### Feature type Change to existing functionality ### Proposed functionality IMHO "identifier" is the field that should enforce uniqueness because of its nature. "Identifier" field is already limited to numbers and it fits the purpose. Apply similar functionality as to VLAN. It could be globally unique or with option to assing it to site or region depending on implementation strategy. Add it to search index ### Use case When creating L2VPNs field "slug" is used to enforce uniqueness. It derives from human friendly field for "Name". It's not suitable for enforcing uniqueness. IMHO "identifier" is the field that should enforce uniqueness since all l2vpn services have an ID. It could be globally unique or with option to assing it to site or region depending on your naming strategy. Similar functionality to VLAN. "Identifier" field is already limited to numbers and it fits the purpose. ### Database changes dont know ### External dependencies dont know
adam added the type: feature label 2025-12-29 20:39:56 +01:00
adam closed this issue 2025-12-29 20:39:57 +01:00
Author
Owner

@DanSheps commented on GitHub (Oct 10, 2023):

Apply similar functionality as to VLAN. It could be globally unique or with option to assing it to site or region depending on implementation strategy.

By their nature, L2VPN's are global (they do not belong to a specific site, and this for the most part is true in the real world), however the identifier are reusable within separate "fabrics" so using it as the sole value to determine uniqueness, for me, is a non-starter. We cannot use site or region in combination to determine uniqueness either as a fabric can span multiple sites or regions.

@DanSheps commented on GitHub (Oct 10, 2023): > Apply similar functionality as to VLAN. It could be globally unique or with option to assing it to site or region depending on implementation strategy. By their nature, L2VPN's are global (they do not belong to a specific site, and this for the most part is true in the real world), however the identifier are reusable within separate "fabrics" so using it as the sole value to determine uniqueness, for me, is a non-starter. We cannot use site or region in combination to determine uniqueness either as a fabric can span multiple sites or regions.
Author
Owner

@dejantep commented on GitHub (Oct 16, 2023):

Maybe i'm confused by field naming but to me name is something proprietary and identifier something unique as the name suggests. Would you say that identifier is regarded as vc-id?

@dejantep commented on GitHub (Oct 16, 2023): Maybe i'm confused by field naming but to me _name_ is something proprietary and _identifier_ something unique as the name suggests. Would you say that _identifier_ is regarded as vc-id?
Author
Owner

@DanSheps commented on GitHub (Oct 18, 2023):

Maybe i'm confused by field naming but to me name is something proprietary and identifier something unique as the name suggests. Would you say that identifier is regarded as vc-id?

Identifier is a generic identifier, if whatever overlay you are using supports a generic identifier. This was made not required as we don't know what types of l2vpns people might be modelling or even if every type they are modelling has an identifier attached to it (maybe it doesn't)

@DanSheps commented on GitHub (Oct 18, 2023): > Maybe i'm confused by field naming but to me _name_ is something proprietary and _identifier_ something unique as the name suggests. Would you say that _identifier_ is regarded as vc-id? Identifier is a generic identifier, if whatever overlay you are using supports a generic identifier. This was made not required as we don't know what types of l2vpns people might be modelling or even if every type they are modelling has an identifier attached to it (maybe it doesn't)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#8690