cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2952
Views
0
Helpful
3
Replies

Native VLAN on ASR9K with XR 4.2.3

jschmied
Level 1
Level 1

Is there a way to configure a native VLAN on an ASR with XR 4.2.3?

We found documentation indicating it can be accomplished but receive a commit failure. The console output is below.

RP/0/RSP0/CPU0:3901-ASR (config)# int Te0/0/0/10.144

RP/0/RSP0/CPU0:3901-ASR(config-subif)#encapsulation untagged

RP/0/RSP0/CPU0:3901-ASR(config-subif)#commit

Thu Jan 30 05:57:00.129 CST

% Failed to commit one or more configuration items during a pseudo-atomic operation. All changes made have been reverted. Please issue 'show configuration failed' from this session to view the errors

RP/0/RSP0/CPU0:3901-ASR(config-subif)#

RP/0/RSP0/CPU0:3901-ASR(config-subif)#show configuration failed

Thu Jan 30 05:58:02.583 CST

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

interface TenGigE0/0/0/11.144 l2transport

encapsulation untagged

!!% 'Ethernet Infra' detected the 'warning' condition 'Cannot pop more tags than are matched on ingress'

!

end

RP/0/RSP0/CPU0:3901-ASR (config)# int Te0/0/0/10.144

RP/0/RSP0/CPU0:3901-ASR(config-subif)#encapsulation dot1q 144 , untagged

RP/0/RSP0/CPU0:3901-ASR(config-subif)#commit

Thu Jan 30 06:02:17.728 CST

% Failed to commit one or more configuration items during a pseudo-atomic operation. All changes made have been reverted. Please issue 'show configuration failed' from this session to view the errors

RP/0/RSP0/CPU0:3901-ASR(config-subif)#show configuration failed

Thu Jan 30 06:02:22.489 CST

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

interface TenGigE0/0/0/11.144 l2transport

encapsulation dot1q 144 , untagged

!!% 'Ethernet Infra' detected the 'warning' condition 'Cannot pop more tags than are matched on ingress'

!

end

Please let me know if you need our full configuration or any other information.

Thanks!

2 Accepted Solutions

Accepted Solutions

Rivalino Tamaela
Cisco Employee
Cisco Employee

Hello,

Looks like you still have 'rewrite ingress tag pop' configuration under that interface. Remove that config also in your changes.

Example of what i did in my lab:

RP/0/RSP0/CPU0:ASR9010-B(config)#interface Bundle-Ether11.285 l2transport

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#encapsulation untagged

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#commit

Thu Jan 30 16:33:22.544 EST

% Failed to commit one or more configuration items during a pseudo-atomic operation. All changes made have been reverted. Please issue 'show configuration failed' from this session to view the errors

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#show configuration failed

Thu Jan 30 16:33:26.533 EST

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

interface Bundle-Ether11.285 l2transport

encapsulation untagged

!!% 'Ethernet Infra' detected the 'warning' condition 'Cannot pop more tags than are matched on ingress'

!

end

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#

Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:no

RP/0/RSP0/CPU0:ASR9010-B#show run int bundle-ether 11.285

Thu Jan 30 16:33:38.296 EST

interface Bundle-Ether11.285 l2transport

description TEST

encapsulation dot1q 285

rewrite ingress tag pop 1 symmetric

!

RP/0/RSP0/CPU0:ASR9010-B#conf

Thu Jan 30 16:33:47.077 EST

RP/0/RSP0/CPU0:ASR9010-B(config)#interface bundle-ether 11.285 l2transport

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#no rewrite ingress tag pop 1 symmetric

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#encapsulation untagged

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#commit

Thu Jan 30 16:34:23.228 EST

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#

thanks,

rivalino

View solution in original post

Allow me to add a few more words on the concept of native vlan and how EVC (ethernet virtual circuit) treats that.

In true switching terms, nativele vlans really refers means that if I have a trunk port and i received an untagged packet, I will treat it as if it would come in on the vlan ID that is desginated as Native.

In the other direction, packets directed to the native vlan were meant to be left untagged on the trunk. however

this makes cos and dot1q less functional, hence the rise of the capability to do tagging the packes with the configured native dot1q vlan.

This model is "useful" in IEEE based trunking models and true access switches, but it doesnt apply to the EVC model that XR follows.

Since XR/EVC does not have trunks, you need to define your EFP (ethernet flow points/l2tranport subinterfaces) manually, and you need to assign how they are bridged (via the l2vpn config) there is no true concept of handling untagged or "native" packets UNLESS you define these handlers/EFP's explicitly.

So for XR/EVC you have a few options to configure tag/matching:

- untagged: packets without any vlan tag, there cant be anything popped on these packets either, but you can push a new tag to them if necessary (somewhat similar to tag dot1q native)

- match the OUTER vlan to the tag defined

- match the complete dot1q stack to this configured

- default: if there is no specific vlan tag available that matches, then this will be the catch all left over

In the closest scenario possible, the untagged EFP together with a tagged EFP that is your native vlan

together in the same bridge domain is what probably mimicks the native closest.

Remember that XR does nto pop tags by default (unlike IOS/IEEE), so in this example you need to pop your tag from the tagged EFP.

In general it i good practice to pop the tags from the EFP, which is especially necessary when you're having BVI's too.

regards

xander

View solution in original post

3 Replies 3

Rivalino Tamaela
Cisco Employee
Cisco Employee

Hello,

Looks like you still have 'rewrite ingress tag pop' configuration under that interface. Remove that config also in your changes.

Example of what i did in my lab:

RP/0/RSP0/CPU0:ASR9010-B(config)#interface Bundle-Ether11.285 l2transport

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#encapsulation untagged

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#commit

Thu Jan 30 16:33:22.544 EST

% Failed to commit one or more configuration items during a pseudo-atomic operation. All changes made have been reverted. Please issue 'show configuration failed' from this session to view the errors

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#show configuration failed

Thu Jan 30 16:33:26.533 EST

!! SEMANTIC ERRORS: This configuration was rejected by

!! the system due to semantic errors. The individual

!! errors with each failed configuration command can be

!! found below.

interface Bundle-Ether11.285 l2transport

encapsulation untagged

!!% 'Ethernet Infra' detected the 'warning' condition 'Cannot pop more tags than are matched on ingress'

!

end

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#

Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:no

RP/0/RSP0/CPU0:ASR9010-B#show run int bundle-ether 11.285

Thu Jan 30 16:33:38.296 EST

interface Bundle-Ether11.285 l2transport

description TEST

encapsulation dot1q 285

rewrite ingress tag pop 1 symmetric

!

RP/0/RSP0/CPU0:ASR9010-B#conf

Thu Jan 30 16:33:47.077 EST

RP/0/RSP0/CPU0:ASR9010-B(config)#interface bundle-ether 11.285 l2transport

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#no rewrite ingress tag pop 1 symmetric

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#encapsulation untagged

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#commit

Thu Jan 30 16:34:23.228 EST

RP/0/RSP0/CPU0:ASR9010-B(config-subif)#

thanks,

rivalino

Allow me to add a few more words on the concept of native vlan and how EVC (ethernet virtual circuit) treats that.

In true switching terms, nativele vlans really refers means that if I have a trunk port and i received an untagged packet, I will treat it as if it would come in on the vlan ID that is desginated as Native.

In the other direction, packets directed to the native vlan were meant to be left untagged on the trunk. however

this makes cos and dot1q less functional, hence the rise of the capability to do tagging the packes with the configured native dot1q vlan.

This model is "useful" in IEEE based trunking models and true access switches, but it doesnt apply to the EVC model that XR follows.

Since XR/EVC does not have trunks, you need to define your EFP (ethernet flow points/l2tranport subinterfaces) manually, and you need to assign how they are bridged (via the l2vpn config) there is no true concept of handling untagged or "native" packets UNLESS you define these handlers/EFP's explicitly.

So for XR/EVC you have a few options to configure tag/matching:

- untagged: packets without any vlan tag, there cant be anything popped on these packets either, but you can push a new tag to them if necessary (somewhat similar to tag dot1q native)

- match the OUTER vlan to the tag defined

- match the complete dot1q stack to this configured

- default: if there is no specific vlan tag available that matches, then this will be the catch all left over

In the closest scenario possible, the untagged EFP together with a tagged EFP that is your native vlan

together in the same bridge domain is what probably mimicks the native closest.

Remember that XR does nto pop tags by default (unlike IOS/IEEE), so in this example you need to pop your tag from the tagged EFP.

In general it i good practice to pop the tags from the EFP, which is especially necessary when you're having BVI's too.

regards

xander

Finally had an opportunity to test this. It worked as explained above. Thanks for your help!!

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: