Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow more Q-in-Q SVLAN options #18280

Open
sleepinggenius2 opened this issue Dec 30, 2024 · 0 comments
Open

Allow more Q-in-Q SVLAN options #18280

sleepinggenius2 opened this issue Dec 30, 2024 · 0 comments
Labels
beta Concerns a bug/feature in a beta release status: needs triage This issue is awaiting triage by a maintainer type: feature Introduction of new functionality to the application

Comments

@sleepinggenius2
Copy link
Contributor

NetBox version

v4.2-beta1

Feature type

Data model extension

Triage priority

N/A

Proposed functionality

  1. When trying to document a triple-tagged VLAN, creating the outermost SVLAN and setting the Q-in-Q role to "Service" works fine, but on the second VLAN in the stack, setting the Q-in-Q role to "Service" and setting the Q-in-Q SVLAN to the outermost SVLAN generates the validation error "Only Q-in-Q customer VLANs maybe assigned to a service VLAN." It seems an arbitrary restriction to disallow documenting nested SVLAN tags. I propose to have this restriction removed, as it could always be implemented with a custom validator, if appropriate in someone's environment.
  2. The Q-in-Q SVLAN selection should be a many-to-many relationship, not a many-to-one relationship, as a given VLAN may have different tags pushed onto it in different parts of the network, and the current model does not allow for that to be properly documented.

Use case

When transporting an OVC through our network, we sometimes run into contention with the customer's selected SVLAN that they wish to use on their ENNI, as it may not be available along the full path of the service. In that case, we may need to add one or more additional SVLANs for some or all of its path, ending up with triple-tagging. Even with a CVLAN, we find that different VLANs are available on different rings and we might need to push an SVLAN for a particular ring, and maybe a different one for a different ring. As the tag is only present within that given ring, it needs to be recorded as a separate VLAN object for documentation and provisioning purposes. Therefore, a given CVLAN or SVLAN may require one or more Q-in-Q SVLANs to properly document its path in the network. We are implementing this using a "Multiple objects" custom field to allow for basic documentation today, but would like to move over to the native implementation once it is available, for the additional features it would offer; the current implementation would not allow for that.

Database changes

Rename the qinq_svlan field on the Vlan model to qinq_svlans and change the type from ForeignKey to ManyToManyField.

External dependencies

None

@sleepinggenius2 sleepinggenius2 added status: needs triage This issue is awaiting triage by a maintainer type: feature Introduction of new functionality to the application labels Dec 30, 2024
@jeremystretch jeremystretch added the beta Concerns a bug/feature in a beta release label Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta Concerns a bug/feature in a beta release status: needs triage This issue is awaiting triage by a maintainer type: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests

2 participants