Previous Section  < Day Day Up >  Next Section

Implementing MPLS QoS for Layer 2 VPN Implementations

As mentioned in earlier chapters, SPs are beginning to use the same IP backbone to provide both Layer 3 as well as Layer 2 VPN services, meaning the usage of AToM, VPWS, VPLS, or L2TPv3 to implement Layer 2 VPN architectures. The procedure to incorporate QoS into each of these Layer 2 VPN implementations is briefly discussed here.

Implementing QoS with AToM

In the implementation of AToM, the emulated circuits use three layers of encapsulation:

  • Tunnel header— Cisco implements this as the MPLS label or LSP label, which is learned via LDP inside the provider backbone. This is the first label in the MPLS label stack. The label is implemented so that the PDU can be transported from the ingress PE to the egress PE device.

  • Demultiplexer field— The function of this label is to identify individual circuits within the tunnel. This is implemented as a VC label and is the second label in the stack; this is learned via the directed LDP session between the PE routers.

  • Emulated VC encapsulation— This is implemented as a 32 bit control word and identifies information inside the enclosed Layer 2 PDU.

As illustrated in Chapter 11, "Any Transport Over MPLS (AToM)," and Chapter 12, "Virtual Private LAN Service (VPLS)," Layer 2 VPNs can be implemented over an MPLS backbone using the same principles as Layer 3 VPNs: by the implementation of label stacks. In Layer 3 VPNs, the label stack contains an LDP/IGP label as well as a VPN label as the packet traverses the MPLS backbone. The LDP/IGP label is used to transport the packet to the next hop in the LSP. This transport label, which is the top label in the label stack, is then popped at the penultimate hop. The VPN label is then read at the egress PE router to identify the interface on which the packet will be transmitted out of the PE router.

Layer 2 VPNs are implemented using the label stack implementation in which a label stack identifies the tunnel label, the VC ID, and the control word. By encapsulation in Layer 2 VPNs, the application of a label stack to a received packet (either labeled or IP packets) is implied. The tunnel label performs the same functions as the IGP/LDP label, and the VC label performs the same functions as the VPN label to identify the egress interface on the egress PE router. Finally, a control word carries essential header information across the MPLS backbone in a shim-header. The ingress PE router will use a label stack to encapsulate the Layer 2 frames into MPLS by removing any preamble, frame checksums, and also some header information. Figure 13-14 shows the label stack implementation in AToM.

Figure 13-14. AToM Label Stack


Because the same label formats for the tunnel and VC labels are used, the EXP bits on these labels can be manipulated to implement QoS for Layer 2 VPNs similar to that shown in the earlier sections of this chapter. For the various options available to configure QoS with AToM, refer to the latest Cisco documentation located at Cisco.com.

The different implementations of Layer 2 VPN using AToM and their corresponding configurations to implement QoS are shown in Figure 13-15. Configurations for a single PE router have been depicted and can be extrapolated to appropriate device interfaces on actual deployment. The CE routers and provider core routers will contain only generic interface configurations with no special configurations for implementation of AToM and AToM QoS. Examples 13-12 through Example 13-18 show the configurations for implementation of ingress AToM QoS for the different AToM implementations. Figure 13-15 depicts the setup that is used for the configuration of AToM QoS.

Figure 13-15. AToM QoS Configuration Topology


Example 13-12. Configuration of L2VPN QoS: AAL5 over MPLS
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface ATM6/0.100 point-to-point

PE1(config-subif)# pvc  1/100 l2transport

PE1(cfg-if-atm-l2trans-pvc)#encapsulation aal5snap

PE1(cfg-if-atm-l2trans-pvc)#xconnect 10.10.10.102 100 encapsulation mpls

PE1(cfg-if-atm-l2trans-pvc)#service-policy input AToMQoS

Example 13-13. Configuration of L2VPN QoS: ATM Cell Relay over MPLS
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface ATM6/0.100 point-to-point

PE1(config-subif)# pvc 1/100 l2transport

PE1(cfg-if-atm-l2trans-pvc)#encapsulation aal0

PE1(cfg-if-atm-l2trans-pvc)#xconnect 10.10.10.102 100 encapsulation mpls

PE1(cfg-if-atm-l2trans-pvc)#service-policy input AtoMQoS

Example 13-14. Configuration of L2VPN QoS: Ethernet over MPLS Port Mode
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface Ethernet0/0

PE1(config-if)# xconnect 10.10.10.102 100 encapsulation mpls

PE1(config-if)# service-policy input AToMQoS

Example 13-15. Configuration of L2VPN QoS: Ethernet over MPLS VLAN Mode
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface FastEthernet0/0.100

PE1(config-if)#encapsulation dot1q 100

PE1(config-if)# xconnect 10.10.10.102 100 encapsulation mpls

PE1(config-if)# service-policy input AToMQoS

Example 13-16. Configuration of L2VPN QoS: PPP over MPLS
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface Serial1/0

PE1(config-if)#encapsulation ppp

PE1(config-if)# xconnect 10.10.10.102 100 encapsulation mpls

PE1(config-if)#service-policy input AToMQoS

Example 13-17. Configuration of L2VPN QoS: HDLC over MPLS
PE1(config)#class-map AToMQoS

PE1(config-cmap)#match any

PE1(config)#policy-map AToMQoS

PE1(config-pmap)#class AToMQoS

PE1(config-pmap-c)#set mpls experimental 5

PE1(config)# interface Serial1/0

PE1(config-if)#encapsulation hdlc

PE1(config-if)# xconnect 10.10.10.102 100 encapsulation mpls

PE1(config-if)#service-policy input AToMQoS

Example 13-18. Configuration of L2VPN QoS: Frame Relay over MPLS
PE1(config)#frame-relay switching

PE1(config)#connect FR Serial1/0 100 l2transport

PE1(config-fr-pw-switching)# xconnect 10.10.10.102 100 encapsulation mpls



PE1(config)#class-map FRoverMPLS

PE1(config-cmap)#match any

PE1(config)#policy-map FRoverMPLS

PE1(config-pmap)#class FRoverMPLS

PE1(config-pmap-c)#set mpls experimental 5



PE1(config)#interface Serial1/0

PE1(config-if)# encapsulation frame-relay

PE1(config-if)# frame-relay intf-type dce

PE1(config-if)# frame-relay interface-dlci 100

PE1(config-fr-dlci)#class FRoverMPLS

Implementing QoS with VPLS

VPLS simplified is multipoint Ethernet over MPLS. Therefore, the configuration of QoS for VPLS is similar to that, as mentioned earlier, where the QoS configurations are performed and are applied to the appropriate interfaces. Example 13-19 shows the configuration of a PE router implementing VPLS with three other neighbors as depicted in the L2 VFI configuration of the router. The PE router implementing VPLS can perform most QoS actions and map them appropriately to the customer's VFI and, thus, implement Layer 2 Ethernet QoS and map them to the appropriate MPLS EXP bits in the MPLS domain.

Example 13-19. Configuration of QoS for VPLS
PE1(config)#l2 vfi VPLS manual

PE1(config-vfi)# vpn id 100

PE1(config-vfi)# neighbor 10.10.10.102 encapsulation mpls

PE1(config-vfi)# neighbor 10.10.10.103 encapsulation mpls



PE1(config)#interface gigabitethernet 1/1

PE1(config-if)#mls qos trust cos

PE1(config-if)#switchport

PE1(config-if)#switchport access vlan 100

PE1(config-if)#switchport mode access



PE1(config)#class-map VPLScos5

PE1(config-cmap)#match cos 5

PE1(config)#policy-map VPLS

PE1(config-pmap)#class VPLScos5

PE1(config-pmap-c)#set mpls experimental 5



PE1(config)#interface vlan 100

PE1(config-if)#xconnect vfi 100

PE1(config-if)#service-policy input VPLS

Figure 13-16 shows the VPLS setup for implementation of QoS with VPLS. For brevity, only the PE1 router's configuration has been depicted in Example 13-19, and it can be applied to other PE routers appropriately.

Figure 13-16. VPLS QoS Configuration Topology


Implementing QoS with L2TPv3

Tunnel marking for L2TPv3 tunnels can be configured to associate QoS for incoming customer traffic on the PE router in a SP network. Tunnel marking enables marking of incoming customer traffic mapping to L2TPv3 tunnels with IP Precedence or DSCP values in an L2TPv3 tunnel. The marking of an IP Precedence or DSCP value for a tunnel is performed under the policy-map configuration with a set ip precedence tunnel value or set ip dscp tunnel value commands.

Note that the tunnel marking for L2TPv3 tunnels can only be performed on packets marked on ingress using an ingress policy map. Example 13-20 shows the configuration of an L2TPv3 marking for traffic generated with either IP Precedence of 5 or DSCP of EF on the ingress PE interface mapping to an L2TPv3 tunnel.

Example 13-20. Implementing Tunnel Marking with L2TPv3 on PE Router
PE1(config)#class-map match-any L2TPv3-marking

PE1(config-cmap)#match ip precedence 5

PE1(config-cmap)#match ip dscp ef

PE1(config)#policy-map L2TPv3-marking

PE1(config-pmap)#class L2TPv3-marking

PE1(config-pmap-c)#set ip precedence tunnel 5



PE1(config)# l2tp-class manual

PE1(config-l2tp-class)# cookie size 4



PE1(config)# pseudowire-class manual

PE1(config-pw-class)# encapsulation l2tpv3

PE1(config-pw-class)# protocol none

PE1(config-pw-class)# ip local interface Loopback0



PE1(config)# interface Loopback0

PE1(config-if)# description Loopback for L2TPv3 tunnel

PE1(config-if)# ip address 10.10.10.101 255.255.255.255



PE1(config)# interface POS0/0

PE1(config-if)# service-policy input L2Tpv3-marking

PE1(config-if)# xconnect 10.10.10.102 1 encapsulation l2tpv3 manual pw-class manual

PE1(config-if)# l2tp id 1 1

PE1(config-if)#  l2tp cookie local 4 1

PE1(config-if)#  l2tp cookie remote 4 1

PE1(config-if)#  l2tp hello manual

    Previous Section  < Day Day Up >  Next Section