Configuring VLAN Identifiers for VLANs and VPLS Routing Instances
You can configure VLAN identifiers for a VLAN or a VPLS routing instance in the following ways:
By using either the
vlan-id
statement or thevlan-tags
statement to configure a normalizing VLAN identifier. This topic describes how normalizing VLAN identifiers are processed and translated in a VLAN or a VPLS routing instance.By using the input-vlan-map and the
output-vlan-map
statements at the[edit interfaces interface-name unit logic-unit-number]
or[edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
hierarchy level to configure VLAN mapping.
In ACX5048 and ACX5096 routers, VLAN map operation is
supported only if the connectivity-type
is ce mode and not with permanent mode.
The vlan-id and vlan-tags
statements
are used to specify the normalizing VLAN identifier under the VLAN
or VPLS routing instance. The normalizing VLAN identifier can translate
or normalize the VLAN tags of packets received into a learn VLAN identifier.
You cannot configure VLAN mapping using the input-vlan-map and output-vlan-map
statements if you configure a normalizing
VLAN identifier for a VLAN or VPLS routing instance using the vlan-id or vlan-tags
statements.
To configure a VLAN identifier for a VLAN, include either the vlan-id or the vlan-tags
statement at the [edit
interfaces interface-name unit logic-unit-number]
or [edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
hierarchy level, and then include that logical interface
in the VLAN configuration.
For a VPLS routing instance, include either the vlan-id or vlan-tags
statement at the [edit interfaces interface-name unit logic-unit-number]
or [edit logical-systems logical-system-name interfaces interface-name unit logic-unit-number]
hierarchy level, and then include that logical interface
in the VPLS routing instance configuration.
ACX Series routers do not support the [edit logical-systems]
hierarchy.
For a single VLAN or VPLS routing instance, you can include
either the vlan-id or the vlan-tags
statement,
but not both. If you do not configure a vlan-id or vlan-tags for the VLAN or the VPLS routing instance, the Layer 2 packets received
are forwarded to the outbound Layer 2 interface without having the
VLAN tag modified unless an output-vlan-map is configured
on the Layer 2 interface. This results in a frame being forwarded
to a Layer 2 interface with a VLAN tag that is different from what
is configured for the Layer 2 interface. Note that a frame received
from the Layer 2 interface is still required to match the VLAN tag(s)
specified in the interface configuration. The invalid configuration
may cause a Layer 2 loop to occur. In ACX5048 and ACX5096 routers,
if the interface VLAN is configured as vlan-id-list, it
is mandatory to normalize the VPLS routing instance. vlan-id all is not supported in ACX5048 and ACX5096 routers.
The VLAN tags associated with the inbound logical interface are compared with the normalizing VLAN identifier. If the tags are different, they are rewritten as described in Table 2. The source MAC address of a received packet is learned based on the normalizing VLAN identifier.
If the VLAN tags associated with the outbound logical interface and the normalizing VLAN identifier are different, the normalizing VLAN identifier is rewritten to match the VLAN tags of the outbound logical interface, as described in Table 3.
The following steps outline the process for bridging
a packet received over a Layer 2 logical interface when you specify
a normalizing VLAN identifier using either the vlan-id number or vlan-tags
statement for a VLAN
or a VPLS routing instance:
- When a packet is received on a physical port, it is accepted only if the VLAN identifier of the packet matches the VLAN identifier of one of the logical interfaces configured on that port.
- The VLAN tags of the received packet are then compared with the normalizing VLAN identifier. If the VLAN tags of the packet are different from the normalizing VLAN identifier, the VLAN tags are rewritten as described in Table 2.
- If the source MAC address of the received packet is not present in the source MAC table, it is learned based on the normalizing VLAN identifier.
- The packet is then forwarded toward one or more outbound Layer 2 logical interfaces based on the destination MAC address. A packet with a known unicast destination MAC address is forwarded only to one outbound logical interface. For each outbound Layer 2 logical interface, the normalizing VLAN identifier configured for the VLAN or VPLS routing instance is compared with the VLAN tags configured on that logical interface. If the VLAN tags associated with an outbound logical interface do not match the normalizing VLAN identifier configured for the VLAN or VPLS routing instance, the VLAN tags are rewritten as described in Table 3.
The tables below show how VLAN tags are applied for traffic
sent to and from the VLAN, depending on how the vlan-id and vlan-tags
statements are configured for the VLAN and on how
identifiers are configured for the logical interfaces in a VLAN or
VPLS routing instance. Depending on your configuration, the following
rewrite operations are performed on VLAN tags:
pop—Remove a VLAN tag from the top of the VLAN tag stack.
pop-pop—Remove both the outer and inner VLAN tags of the frame.
pop-swap—Remove the outer VLAN tag of the frame and replace the inner VLAN tag of the frame.
swap—Replace the VLAN tag of the frame.
push—Add a new VLAN tag to the top of the VLAN stack.
push-push—Push two VLAN tags in front of the frame.
swap-push—Replace the VLAN tag of the frame and add a new VLAN tag to the top of the VLAN stack.
swap-swap—Replace both the outer and inner VLAN tags of the frame.
Table 1 shows the supported input and output VLAN map configurations.
Interface Type |
Input-map |
Output-map |
||
---|---|---|---|---|
Configuration |
Parameters |
Configuration |
Parameters |
|
Untagged |
push |
tpid.outer-vlan |
pop |
None |
push-push |
tpid.outer-vlan/ inner-vlan |
pop-pop |
None |
|
Single tagged |
swap |
tpid.outer-vlan |
swap |
tpid.outer-vlan |
push |
tpid.outer-vlan |
pop |
None |
|
swap-push |
tpid.outer-vlan/ inner-vlan |
pop-swap |
None |
|
Dual tagged |
swap |
tpid.outer-vlan |
swap |
tpid.outer-vlan |
pop |
None |
push |
tpid.outer-vlan |
|
swap-swap |
tpid.outer-vlan/inner-vlan |
swap-swap |
tpid.outer-vlan |
Table 2 shows specific examples of how the VLAN tags for packets sent to the VLAN are processed and translated, depending on your configuration. “–” means that the statement is not supported for the specified logical interface VLAN identifier. “No operation” means that the VLAN tags of the received packet are not translated for the specified input logical interface.
VLAN Identifier of Logical Interface |
VLAN Configurations for a VLAN |
||
---|---|---|---|
vlan-id none |
vlan-id 200 |
vlan tags outer 100 inner 300 |
|
none |
No operation |
push 200 |
push 100, push 300 |
200 |
pop 200 |
No operation |
swap 200 to 300, push 100 |
1000 |
pop 1000 |
swap 1000 to 200 |
swap 1000 to 300, push 100 |
vlan-tags outer 2000 inner 300 |
pop 2000, pop 300 |
pop 2000, swap 300 to 200 |
swap 2000 to 100 |
vlan-tags outer 100 inner 400 |
pop 100, pop 400 |
pop 100, swap 400 to 200 |
swap 400 to 300 |
Table 3 shows specific examples of how the VLAN tags for packets sent from the VLAN are processed and translated, depending on your configuration. “–” means that the statement is not supported for the specified logical interface VLAN identifier. “No operation” means that the VLAN tags of the outbound packet are not translated for the specified output logical interface.
VLAN Identifier of Logical Interface |
VLAN Configurations for a VLAN |
||
---|---|---|---|
vlan-id none |
vlan-id 200 |
vlan tags outer 100 inner 300 |
|
none |
no operation |
pop 200 |
pop 100, pop 300 |
200 |
push 200 |
No operation |
pop 100, swap 300 to 200 |
1000 |
push 1000 |
swap 200 to 1000 |
pop 100, swap 300 to 1000 |
vlan-tags outer 2000 inner 300 |
push 2000, push 300 |
swap 200 to 300, push 2000 |
swap 100 to 2000 |
vlan-tags outer 100 inner 400 |
push 100, push 400 |
swap 200 to 400, push 100 |
swap 300 to 400 |