nsot icon indicating copy to clipboard operation
nsot copied to clipboard

Feature: VLAN resources

Open dowlingw opened this issue 8 years ago • 6 comments

  • Create a VLAN resource type
  • vlan id as the unique identifier within a network

dowlingw avatar Apr 05 '16 00:04 dowlingw

Thanks for the request!

Unfortunately, this doesn't strike me as a compelling use-case for a top-level resource type. Internally at Dropbox, for example, we are using vlan as a Network attribute. Also because of the nature of attributes and values, this can also function as a unique identifier within a Network.

This allows us to be able to filter networks by vlan=300 for example. Such as:

GET /api/sites/1/networks/query/?query=vlan=300

If this pattern wouldn't work for you, I'm interesting in hearing your thoughts!

jathanism avatar Apr 05 '16 01:04 jathanism

A provider network treats VLANs more like a consumable resource, so you'd want to track attributes relating to the VLAN itself.

My use case would be delivering L2 ethernet services (VLAN used internally but no other resources on SP end).

dowlingw avatar Apr 05 '16 01:04 dowlingw

Outside the SP example, I'm sure people would use a first class VLAN resource for VLAN planning and tracking namespace usage.

dowlingw avatar Apr 05 '16 01:04 dowlingw

That's good feedback! I'd like to understand this better in that case.

jathanism avatar Apr 05 '16 01:04 jathanism

I'd like to see VLAN support to as an actual "object" type too, just some general thoughts from our use cases (as a service provider):

VLANs are a finite resource so we need to track their usage and who they are allocated to (they can run out like IPs!).

We need to be able to allocate a VLAN to a device and it is a device wide VLAN allocation (a broadcast domain, perhaps multiple ports on a single device are access ports in the same VLAN), or at the interface level assign a VLAN but actually be able to re-use the same VLAN across multiple interfaces or devices within a single PoP and it is not a device wide broadcast domain (in the instance that traffic comes into interface 1 tagged with VLAN 10 and we pop the VLAN tag off and place the traffic then into broadcast domain/VLAN 20 for switching, traffic also comes into interface 2 tagged on VLAN 10 but we pop the tag there and place the traffic into VLAN 30 for switching, so both interfaces have traffic tagged with VLAN 10 but they are unrelated).

If we are providing a layer 2 service (like a pseudowire) between two PoPs we might want to allocate the same VLAN In both PoPs (but only to a specific interface at each PoP) so we need to search PoPs and/or devices if VLAN 10 is free in both places.

HTH.

jwbensley avatar May 23 '17 14:05 jwbensley

@jwbensley This is really helpful and will be useful as we attempt to implement this object. Thank you for providing this input!

jathanism avatar May 23 '17 15:05 jathanism