Skip to main content

QinQ

This schema extension adds the Service VLAN and Customer VLAN nodes needed to model QinQ on top of the VLAN extension.

Details

Nodes

SVLAN

  • Label: S-VLAN
  • Description: A VLAN used to encapsulate multiple CVLANs.
  • Namespace: Ipam
  • Uniqueness Constraints:
    • vlan_id__value, vlan_group
  • Inherit From: IpamGenericVLAN

Relationships

namepeeroptionalcardinalitykind
cvlanIpamCVLANTruemanyAttribute

CVLAN

  • Label: C-VLAN
  • Description: A VLAN assigned to customer traffic, encapsulated within an S-VLAN.
  • Namespace: Ipam
  • Uniqueness Constraints:
    • svlan, vlan_id__value
  • Human Friendly ID: svlan__name__value, vlan_id__value
  • Inherit From: IpamGenericVLAN

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameTextTrue

Relationships

namepeeroptionalcardinalitykind
svlanIpamSVLANFalseoneAttribute

Code

version: '1.0'
nodes:
- name: SVLAN
namespace: Ipam
description: A VLAN used to encapsulate multiple CVLANs.
label: S-VLAN
include_in_menu: false
inherit_from:
- IpamGenericVLAN
uniqueness_constraints:
- - vlan_id__value
- vlan_group
relationships:
- name: cvlan
peer: IpamCVLAN
label: Customer vlan(s)
kind: Attribute
cardinality: many
optional: true
identifier: vlan__qinq
direction: outbound
order_weight: 1600
- name: CVLAN
namespace: Ipam
description: A VLAN assigned to customer traffic, encapsulated within an S-VLAN.
label: C-VLAN
include_in_menu: false
inherit_from:
- IpamGenericVLAN
human_friendly_id:
- svlan__name__value
- vlan_id__value
display_label: '{{ svlan__name__value }}-{{ vlan_id__value }}'
uniqueness_constraints:
- - svlan
- vlan_id__value
attributes:
- name: name
kind: Text
read_only: true
computed_attribute:
kind: Jinja2
jinja2_template: '{{ svlan__name__value }}-{{ vlan_id__value }}'
optional: true
order_weight: 1000
relationships:
- name: svlan
peer: IpamSVLAN
label: Supplier vlan
kind: Attribute
cardinality: one
optional: false
identifier: vlan__qinq
direction: inbound
order_weight: 1600