Prerequisites for A-VPLS
None.
Restrictions for A-VPLS
- These are the supported configurations:
– MPLS core with configuration of PE routers through the neighbor command under transport vpls mode.
– MPLS core with configuration of PE routers through MPLS traffic engineering tunnels using explicit paths.
– IP core with configuration of PE routers through MPLS over GRE tunnels.
Other configuration methods, including use of the route-via command, BGP autodiscovery, or explicit VLAN assignment to a PE egress port, are not supported.
- A-VPLS supports the following:
– Up to 32 EtherChannel port-channel interfaces.
– Up to 60 VPLS neighbors, minus the number of neighbors configured with the load-balance flow command.
- A-VPLS requires nonstop forwarding and stateful switchover.
- A-VPLS works with following:
– MPLS Traffic Engineering tunnels that are configured with explicit paths.
– Generic Routing Encapsulation (GRE tunnels) that are configured with static routes to the tunnel destination.
For information about MPLS traffic engineering and GRE tunnels, see the following documents:
– MPLS Traffic Engineering and Enhancements
– Implementing Tunnels
- The ping and traceroute commands that support the Any Transport over MPLS Virtual Circuit Connection Verification (VCCV) feature are not supported over FAT pseudowires.
- The VPLS Autodiscovery feature is not supported with A-VPLS.
- Load-balancing is not supported in the core routers when the core uses IP to transport packets.
Information About A-VPLS
A-VPLS introduces the following enhancements to VPLS:
- Ability to load-balance traffic at the provider edge (PE) among multiple equal-cost core-facing paths and at core interfaces using flow labels.
- Support for redundant PE routers.
A-VPLS uses the Flow Aware Transport (FAT) Pseudowire feature to achieve PE redundancy and load-balancing on both PE and core routers. FAT pseudowires are used to load-balance traffic in the core when equal cost multipaths are used. The PE router adds an additional MPLS Label to the each packet (the flow label). Each flow has a unique flow label. For more information about FAT pseudowires, see PWE3 Internet-Draft Flow Aware Transport of MPLS Pseudowires (draft-bryant-filsfils-fat-pw).
Note AToM Control word is supported for Ethernet frames and C-bit is enabled by default in Supervisor Engine 2T, Supervisor Engine 6T, Catalyst 6880 and, Catalyst 6848x. It requires remote side signaling (with C-bit =0) to disable control word in the L2 binding.
How to Configure A-VPLS
Enabling Load-Balancing with ECMP and FAT Pseudowires
The following steps explain how to configure load-balancing on the provider edge (PE) routers, which enables it on the core P routers. No configuration is required on the core P routers.
To enable load-balancing on the edge routers, issue the load-balance flow command. The load-balancing rules are configured through the port-channel load-balance command parameters (see the “Enabling Port-Channel Load-Balancing” section).
To enable core load-balancing, issue the flow-label enable command on both PE routers. You must issue the load-balance flow command with the flow-label enable command.
|
|
|
Step 1 |
Router> enable |
Enables privileged EXEC mode (enter your password if prompted). |
Step 2 |
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
Router(config)# pseudowire-class name |
Establishes a pseudowire class with a name that you specify and enters pseudowire class configuration mode. |
Step 4 |
Router(config-pw)# encapsulation mpls |
Specifies the MPLS tunneling encapsulation type. |
Step 5 |
Router(config-pw)# load-balance flow |
Enables load-balancing on ECMPs. |
Step 6 |
Router(config-pw)# flow-label enable |
Enables the imposition and disposition of flow labels for the pseudowire. |
Step 7 |
Router(config-pw)# end |
Exits pseudowire class configuration mode and enters privileged EXEC mode. |
Enabling Port-Channel Load-Balancing
The following task explains how to enable port channel load-balancing, which sets the load-distribution method among the ports in the bundle. If the port-channel load-balance command is not configured, load-balancing occurs with default parameters.
|
|
|
Step 1 |
Router> enable |
Enables privileged EXEC mode. Enter your password if prompted. |
Step 2 |
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
Router(config)# port-channel load-balance method |
Specifies the load distribution method among the ports in a bundle. |
Step 4 |
Router(config)# exit |
Exits global configuration mode and enters privileged EXEC mode. |
Explicitly Specifying the PE Routers As Part of Virtual Ethernet Interface Configuration
There are several ways to specify the route through which traffic should pass.
- Explicitly specify the PE routers as part of the virtual Ethernet interface configuration
- Configure an MPLS Traffic Engineering tunnel
- Configure a GRE tunnel
The following task explains how to explicitly specify the PE routers as part of the virtual Ethernet interface configuration.
|
|
|
Step 1 |
Router> enable |
Enables privileged EXEC mode. Enter your password if prompted. |
Step 2 |
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
Router(config)# interface virtual-ethernet num |
Creates a virtual Ethernet interface and enters interface configuration mode. |
Step 4 |
Router(config-if)# transport vpls mesh |
Create a full mesh of pseudowires and enters VPLS transport mode. |
Step 5 |
Router(config-if-transport)# neighbor remote-router-id [ pw-class pw-class-name] |
Specifies the PE routers to be used in the pseudowire. |
Step 6 |
Router(config-if-transport)# exit |
Exits VPLS transport configuration mode and enters interface configuration mode. |
Step 7 |
Router(config-if)# switchport |
Configures the port for Layer 2 switching. |
Step 8 |
Router(config-if)# switchport mode trunk |
Enables permanent trunking mode and negotiates to convert the link into a trunk link. |
Step 9 |
Router(config-if)# switchport trunk allowed vlan { add | except | none | remove } vlan [, vlan [, vlan [,...]] |
Configures the list of VLANs allowed on the trunk. |
Step 10 |
Router(config)# exit |
Exits interface configuration mode and enters privileged EXEC mode. |
Configuring an MPLS Traffic Engineering Tunnel
There are several ways to specify the route through which traffic should pass.
- Explicitly specify the PE routers as part of the virtual Ethernet interface configuration
- Configure an MPLS Traffic Engineering tunnel
- Configure a GRE tunnel
The following task explains how to configure an MPLS Traffic Engineering tunnel. For more information about MPLS Traffic Engineering tunnels, see MPLS Traffic Engineering and Enhancements.
|
|
|
Step 1 |
Router> enable |
Enables privileged EXEC mode (enter your password if prompted). |
Step 2 |
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
Router(config)# interface tunnel number |
Configures an interface type and enters interface configuration mode. |
Step 4 |
Router(config-if)# ip unnumbered type number |
Assigns an IP address to the tunnel interface. An MPLS traffic engineering tunnel interface should be unnumbered because it represents a unidirectional link. |
Step 5 |
Router(config-if)# tunnel destination ip-address |
Specifies the destination for a tunnel. The ip-address keyword is the IP address of the host destination expressed in dotted decimal notation. |
Step 6 |
Router(config-if)# tunnel mode mpls traffic-eng |
Configures the tunnel encapsulation mode to MPLS traffic engineering. |
Step 7 |
Router(config-if)# tunnel mpls traffic-eng autoroute announce |
Configures the IGP to use the tunnel in its enhanced SPF calculation. |
Step 8 |
Router(config-if)# tunnel mpls traffic-eng path-option number { dynamic | explicit { name path-name } | identifier path-number } [ lockdown ] |
Configures the tunnel to use a named IP explicit path or a path dynamically calculated from the traffic engineering topology database. A dynamic path is used if an explicit path is currently unavailable. |
Step 9 |
Router(config-if)# exit |
Exits interface configuration mode and returns to privileged EXEC mode. |
Configuring a GRE Tunnel
There are several ways to specify the route through which traffic should pass.
- Explicitly specify the PE routers as part of the virtual Ethernet interface configuration
- Configure an MPLS Traffic Engineering tunnel
- Configure a GRE tunnel
The following task explains how to configure a GRE tunnel. For more information on GRE tunnels, see Implementing Tunnels.
|
|
|
Step 1 |
Router> enable |
Enables privileged EXEC mode. Enter your password if prompted. |
Step 2 |
Router# configure terminal |
Enters global configuration mode. |
Step 3 |
Router(config)# interface type number |
Specifies the interface type and number and enters interface configuration mode. To configure a tunnel, use tunnel for the type argument. |
Step 4 |
Router(config-if)# tunnel mode { gre ip | gre multipoint } |
Specifies the encapsulation protocol to be used in the tunnel. |
Step 5 |
Router(config-if)# mpls ip |
Enables MPLS on the tunnel. |
Step 6 |
outer(config-if)# tunnel source { ip-address | interface-type interface-number } |
Configures the tunnel source.
- Use the ip-address argument to specify the source IP address.
- Use the interface-type and interface-number arguments to specify the interface to use.
Note The tunnel source and destination IP addresses must be defined on both PE routers. |
Step 7 |
Router(config-if)# tunnel destination { hostname | ip-address } |
Configures the tunnel destination.
- Use the hostname argument to specify the name of the host destination.
- Use the ip-address argument to specify the IP address of the host destination.
Note The tunnel source and destination IP addresses must be defined on both PE routers. |
Step 8 |
Router(config-if)# exit |
Exits interface configuration mode and returns to privileged EXEC mode. |
Step 9 |
Router(config)# ip route ip-address tunnel num |
Creates a static route. |
These examples show the three supported methods of configuring A-VPLS.
Explicitly Specifying Peer PE Routers
The following example shows how to create two VPLS domains under VLANs 10 and 20. Each VPLS domain includes two pseudowires to peer PE routers 10.2.2.2 and 10.3.3.3. Load-balancing is enabled through the l oad-balance flow and flow-label enable commands.
port-channel load-balance src-mac
interface virtual-ethernet 1
neighbor 10.2.2.2 pw-class cl1
neighbor 10.3.3.3 pw-class cl1
switchport trunk allowed vlan 10, 20
Using MPLS Traffic Engineering Tunnels
The following example shows the creation of two VPLS domains and uses MPLS Traffic Engineering tunnels to specify the explicit path.
port-channel load-balance src-mac
tunnel mode mpls traffic-eng
tunnel destination 192.168.1.1
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name LSP1
ip explicit-path name LSP1 enable
next-address loose 192.168.1.1
tunnel mode mpls traffic-eng
tunnel destination 172.16.1.1
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng path-option 1 explicit name LSP2
ip explicit-path name LSP2 enable
next-address loose 172.16.1.1
interface virtual-ethernet 1
neighbor 10.2.2.2 pw-class cl1
neighbor 10.3.3.3 pw-class cl1
switchport trunk allowed vlan 10,20
Using MPLS over GRE Tunnels
The following example shows the creation of two VPLS domains under VLANs 10 and 20. Each VPLS domain includes two pseudowires to peer PEs 10.2.2.2 and 10.3.3.3. The pseudowires are MPLS over GRE tunnels because the core is IP.
port-channel load-balance src-mac
tunnel destination 10.2.2.2
tunnel destination 10.3.3.3
interface virtual-ethernet 1
neighbor 10.2.2.2 pw-class cl1
neighbor 10.3.3.3 pw-class cl1
switchport trunk allowed vlan 10, 20
ip route 10.2.2.2 255.255.255.255 Tunnel1
ip route 10.3.3.3 255.255.255.255 Tunnel2
Routed Pseudo-Wire (RPW) and Routed VPLS
RPW and Routed VPLS can route Layer 3 traffic as well as switch Layer 2 frames for pseudowire connections between provider edge (PE) devices. Both point-to-point PE connections, in the form of Ethernet over MPLS (EoMPLS), and Virtual Private LAN Services (VPLS) multipoint PE connections are supported. The ability to route frames to and from these interfaces supports termination of a pseudowire into a Layer 3 network (VPN or global) on the same switch, or to tunnel Layer 3 frames over a Layer 2 tunnel (EoMPLS or VPLS). The feature supports faster network convergence in the event of a physical interface or device failure through the MPLS Traffic Engineering (MPLS-TE) and Fast Reroute (FRR) features. In particular, the feature enables MPLS TE-FRR protection for Layer 3 multicast over a VPLS domain.
Note When the RPW is configured in A-VPLS mode, TE/FRR is not supported because A-VPLS runs over ECMP and the ECMP convergence is comparable to TE/FRR.
To configure routing support for the pseudowire, configure an IP address and other Layer 3 features for the Layer 3 domain (VPN or global) in the virtual LAN (VLAN) interface configuration. The following example assigns the IP address 10.10.10.1 to the VLAN 100 interface, and enables Multicast PIM. (Layer 2 forwarding is defined by the VFI VFI100.)
ip address 10.10.10.1 255.255.255.0
The following example assigns an IP address 20.20.20.1 of the VPN domain VFI200. (Layer 2 forwarding is defined by the VFI VFI200.)
ip address 20.20.20.1 255.255.255.0