Skip to content

VLAN#

Virtual Networks → VVLANs

A VLAN combines a set of Interfaces with a VLAN tag to create sub-interfaces, which are then connected to a BridgeDomain. This way, the hosts that are connected to these sub-interfaces can communicate amongst themselves and with other hosts in the BridgeDomain.

VLAN vs BridgeInterface

A VLAN uses labels to select which Interfaces are connected to the BridgeDomain, while a BridgeInterface connects a single Interface to the BridgeDomain. The former should be preferred wherever possible.

Traffic is switched via the BridgeDomain that matches the VLAN tag that the packets are tagged with, which allows a physical device to communicate with multiple services over the same physical interface.

A common use case is a server that hosts virtual machines: the physical device (hypervisor) hosts multiple VMs, all of which are assigned a unique VLAN ID to be able to connect to the network over the same physical interface.

VLAN graphical representation

Split-horizon groups#

Split-horizon groups are used for loop avoidance, grouping all interfaces selected by this VLAN. BUM traffic received through one of these Interfaces is not forwarded to any other VLAN sub-interface local to that physical switch. Note that sub-interfaces on a different switch may still receive the packets.

Split-horizon groups are typically used in scenarios where a set of interfaces may be inter-connected through a backdoor link, and in certain multihomed scenarios.

Split-horizon groups for multi-homing

Rather than creating a split-horizon group for interfaces that are used for all-active multi-homing, prefer using an EVPN Ethernet Segment wherever possible. Dedicated loop-avoidance features are built into the EVPN protocol that are superior to split-horizon groups.

Ethernet segments also provide loop avoidance when the links are connected to different physical switches, which is not possible with split-horizon groups.

An uplink in the context of the VLAN is a connection between a breakout switch and a service-aware switch. The breakout switch usually has fewer capabilities, both in terms of port speeds as well as control plane functionality.

These switches are typically not VxLAN or MPLS capable, and the distributed BridgeDomain can therefore not be extended onto the access switch. Instead, a separate non-distributed bridge domain service is created on the breakout switch which is attached to the distributed BridgeDomain through the uplink.

The uplinkSelectors label selector property is used to identify which links are connected to breakout switches. The VLAN that is used on this breakout uplink is determined by the uplinkVLANID or uplinkVLANPool property.

Note

On the breakout switch, only the interfaces selected by the VLAN will be attached to the bridge domain service.

Dependencies#

BridgeDomain#

The VLAN connects a set of Interfaces to a BridgeDomain, allowing the hosts that are behind the Interfaces to communicate with each other and to other hosts in the BridgeDomain.

The BridgeDomain must exist before the VLAN can be configured.

Referenced resources#

Interface#

A VLAN is mapped to multiple Interfaces, and those Interfaces can be referenced by many VLANs. A VLAN tag is used to determine which service the traffic will be forwarded to.

Although the label selector that selects Interface resources for this VLAN must be specified, there is no requirement that the label is actually applied to any Interface. If the VLAN selects no Interfaces, it will not be deployed.

If an uplink is configured which connects a set of Interfaces on one or more breakout switches to the distributed BridgeDomain service, the uplink label selector selects TopoLink resources that are used to connect the breakout switch(es) to the rest of the network.

Examples#

apiVersion: services.eda.nokia.com/v2
kind: VLAN
metadata:
  name: stretched-l2-vlan
  namespace: services
spec:
  bridgeDomain: stretched-l2
  interfaceSelectors:
    - edge-type = compute
    - edge-type = storage
  vlanID: '100'
cat << 'EOF' | kubectl apply -f -
apiVersion: services.eda.nokia.com/v2
kind: VLAN
metadata:
  name: stretched-l2-vlan
  namespace: services
spec:
  bridgeDomain: stretched-l2
  interfaceSelectors:
    - edge-type = compute
    - edge-type = storage
  vlanID: '100'
EOF

Custom Resource Definition#

To browse the Custom Resource Definition go to crd.eda.dev.

VLAN

services.eda.nokia.com / v2

SPEC

The VLAN enables the configuration and management of VLAN and their association with BridgeDomains. This resource allows for specifying the associated BridgeDomain, selecting interfaces based on label selectors, and configuring VLAN IDs with options for auto-allocation from a VLAN pool. It also supports advanced configurations such as ingress and egress traffic management, and overrides for MAC Duplication Detection actions when enabled in the associated BridgeDomain.

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

STATUS

  • #
  • #
  • #
  • #
  • #
  • #
  • #