-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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 assigning of VLAN(s) to device ports #150
Comments
This would then have to be able to assign native/untagged vlans along with allowed/tagged vlans. This could get complicated, but is possible. For those Cisco focused individuals, voice vlans would just be classified as a allowed/tagged vlans, and access ports would be assigned untagged/ native vlans. |
an interface would be either an access port (untagged vlan defaults to 1, but can be changed) or a trunk port. The trunk vlans might be configurable by either an "all" radio button or a text field, where you can enter ranges similar to this: [1-16], [20-26], 58, [65-70], 99, 901, 903, 919, 4095 |
Just a thought, but it could be useful to maintain a record of VLANs associated (i.e. active) on a device. I guess a join table linking VLANs to Devices would be the way, or perhaps to interfaces, and the device count known through ORM. |
This is very important for our PPPOE hubs. We use several VLANs linked to BRIDGES. They serve to aggregate customers by geographical areas and to facilitate the relocation of IP blocks between these equipments.Thank you :) |
I'd be interested in being able to assign a VLAN to a port, especially when one separates traffic on a port ie, voice and data or the customer requires multiple services over a single connection. |
This is really blocking my use of netbox as a source of truth. I want to be able to provision devices based on what is in netbox and later to do compliance checks. VLAN port assignments are a crucial part of this. |
What I have done to get around this is to create new vlan interfaces prefixed by the physical port and as a type Other. This allows me to see which port the vlan is attached to. Maybe oneday when we can link a vlan to a port, I will then modify the data in the Database using the current format to determine what goes where.
|
We'll need to nail down the data model before any progress can be made on this. I'm open to suggestions. How would you define a relationship between an |
Here's one way to approach it without massive join tables... Interface has foreign lookup to VLAN Group. Option 2, with join tables. Probably closer to realistic. Interface has foreign lookup to VLAN Group, Interface rather than device because for example, a router could have trunk links to multiple VLAN domains, or a switch might have some form of internal partitioning (e.g. Cisco VDC). I guess there could be a default VLAN Group for the device, and if not otherwise set/overidden the VLAN Group on an interface would be the VLAN Group of the device. Interface would need a typing field I think, e.g. Routing (e.g. L3), Access (L2 Untagged), Tagged. VLAN association should probably be limited to 1 VLAN for Routing and Access, but many for Tagged. Some consideration here perhaps for the concept of native VLANS. The model could be extended to MPLS or VXLAN VNI, or any other tagging technology, if the VLAN models were rewritten to a more generic Tagging type, with VLANs being just one sort of Tagged item (perhaps set by the Tagged Group they are a member of). |
My idea for this model is to allow a "VLAN Configuration" on a per interface level. Each In the UI, the user adds this At this point though, I am not sure if this new model should live in dcim or ipam for the purposes of where/how to define the API endpoints for this? @jeremystretch thoughts on this? I am more than happy to work this out and submit a WIP PR if we can agree on the model. |
If you just want to keep a track of VLAN membership on a port, as a workaround you could create an interface of type "virtual" for each enabled VLAN.
This is after all how you would model a router with separate layer 3 subinterfaces, or a virtual machine which has different IP addresses on eth0.100 and eth0.101. It would however get tedious for many VLANs on many ports. There is no explicit link from a virtual interface to its parent (apart from a physical interface to parent LAG), so it is only implied from the naming. There's not a simple way I can see to record that GigabitEthernet0/1 is untagged vlan 200. |
@candlerb, as you already mentioned, your workaround is unfortunately only feasible if the number of VLANs assigned to an interface is relatively low. |
* implements #150 - inteface vlan tagging * test fix. allow validated model serializer to specify certain fields to ignore validation on. * PEP8 fix; removed commented out code * PEP8 fix; newline in contants
It would be nice to be able to assign VLANs allocated to the device's site to it's ports
The text was updated successfully, but these errors were encountered: