Configuring Route Maps to Control the Distribution of MPLS Labels Between Routers in an MPLS VPN
Last Updated: June 6, 2012
Route maps enable you to specify which routes are distributed with Multiprotocol Label Switching (MPLS) labels. Route maps also enable you to specify which routes with MPLS labels a router receives and adds to its Border Gateway Protocol (BGP) table.
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Restrictions for Using Route Maps with MPLS VPNs
You can use route maps with MPLS VPN Inter-AS with Autonomous System Boundary Routers (ASBRs) exchanging IPv4 routes with MPLS labels. You cannot use route maps with MPLS VPN Inter-AS with ASBRs exchanging VPN-IPv4 addresses.
Prerequisites for Using Route Maps with MPLS VPNs
Before you configure and apply route maps, you need to create an access control list (ACL) and specify the routes that the router should distribute with MPLS labels.
Information About Route Maps in MPLS VPNs
When routers are configured to distribute routes with MPLS labels, all the routes are encoded with the multiprotocol extensions and contain MPLS labels. You can use a route map to control the distribution of MPLS labels between routers.
Route maps enable you to specify which routes are distributed with MPLS labels. Route maps also enable you to specify which routes with MPLS labels a router receives and adds to its BGP table. Route maps enable you to specify the following:
For a router distributing MPLS labels, you can specify which routes are distributed with an MPLS label.
For a router receiving MPLS labels, you can specify which routes are accepted and installed in the BGP table.
Route maps work with ACLs. You enter the routes into an ACL and then specify the ACL when you configure the route map. You can configure a router to accept only routes that are specified in the route map. The router checks the routes listed in the BGP update message against the list of routes in the specified ACL. If a route in the BGP update message matches a route in the ACL, the route is accepted and added to the BGP table.
How to Configure Route Maps in an MPLS VPN
Perform the following tasks to enable routers to send MPLS labels with the routes specified in the route maps:
Perform this task to create a route map to filter arriving routes. You create an ACL and specify the routes that the router should accept and add to the BGP table.
Configures a BGP routing process and enters router configuration mode.
The
as-number argument indicates the number of an autonomous system that identifies the router to other BGP routers and tags the routing information passed along. Valid numbers are from 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
Enters route map configuration mode and creates a route map with the name you specify.
The
map-name argument identifies the name of the route map.
The
permit keyword allows the actions to happen if all conditions are met.
A
deny keyword prevents any actions from happening if all conditions are met.
The
sequence-number argument allows you to prioritize route maps. If you have multiple route maps and want to prioritize them, assign each one a number. The route map with the lowest number is implemented first, followed by the route map with the second lowest number, and so on.
Step 5
match ip address {access-list-number [access-list-number...|
access-list-name...]
access-list-name [access-list-number...|
access-list-name] |
prefix-listprefix-list-name [prefix-list-name....]]
Example:
Router(config-route-map)# match ip address acl-in
Distributes any routes that have a destination network number address that is permitted by a standard access list, an extended access list, or a prefix list, or performs policy routing on packets.
The
access-list-number... argument is a number of a standard or extended access list. It can be an integer from 1 to 199. The ellipsis indicates that multiple values can be entered.
The
access-list-name... argument is a name of a standard or extended access list. It can be an integer from 1 to 199. The ellipsis indicates that multiple values can be entered.
The
prefix-list keyword distributes routes based on a prefix list.
The
prefix-list-name... argument is a name of a specific prefix list. The ellipsis indicates that multiple values can be entered.
Step 6
match mpls-label
Example:
Router(config-route-map)# match mpls-label
Redistributes routes that include MPLS labels if the routes meet the conditions specified in the route map.
Step 7
exit
Example:
Router(config-route-map)# exit
Exits route map configuration mode and returns to global configuration mode.
Configuring a Route Map for Outgoing Routes
This configuration is optional.
Perform this task to create a route map to filter departing routes. You create an access list and specify the routes that the router should distribute with MPLS labels.
Configures a BGP routing process and enters router configuration mode.
The
as-number argument indicates the number of an autonomous system that identifies the router to other BGP routers and tags the routing information passed along.
Valid numbers are from 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
Enters route map configuration mode and creates a route map with the name you specify.
The
map-name argument identifies the name of the route map.
The
permit keyword allows the actions to happen if all conditions are met.
A
deny keyword prevents any actions from happening if all conditions are met.
The
sequence-number argument allows you to prioritize route maps. If you have multiple route maps and want to prioritize them, assign each one a number. The route map with the lowest number is implemented first, followed by the route map with the second lowest number, and so on.
Step 5
match ip address {access-list-number [access-list-number...|
access-list-name...}] |
access-list-name [access-list-number...|
access-list-name |
prefix-listprefix-list-name [prefix-list-name....]]
Example:
Router(config-route-map)# match ip address acl-out
Distributes any routes that have a destination network number address that is permitted by a standard access list, an extended access list, or a prefix list, or performs policy routing on packets.
The
access-list-number... argument is a number of a standard or extended access list. It can be an integer from 1 to 199. The ellipsis indicates that multiple values can be entered.
The
access-list-name... argument is a name of a standard or extended access list. It can be an integer from 1 to 199. The ellipsis indicates that multiple values can be entered.
The
prefix-list keyword distributes routes based on a prefix list.
The
prefix-list-name... argument is a name of a specific prefix list. The ellipsis indicates that multiple values can be entered.
Step 6
set mpls-label
Example:
Router(config-route-map)# set mpls-label
Enables a route to be distributed with an MPLS label if the route matches the conditions specified in the route map.
Step 7
exit
Example:
Router(config-route-map)# exit
Exits route map configuration mode and returns to global configuration mode.
Applying the Route Maps to the MPLS VPN Edge Routers
This configuration is optional.
Perform this task to enable the edge routers to use the route maps.
Configures a BGP routing process and enters router configuration mode.
The
as-number argument indicates the number of an autonomous system that identifies the router to other BGP routers and tags the routing information passed along. Valid numbers are from 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
Using a Route Map in an MPLS VPN Inter-AS Network Example
In this example, a route map is applied to an autonomous system border router (ASBR) that exchanges IPv4 routes and MPLS labels with another ASBR.
A route map called OUT specifies that the ASBR should distribute the PE1 route (ee.ee) with labels and the RR1 route (aa.aa) without labels.
A route map called IN specifies that the ASBR should accept the PE2 route (ff.ff) with labels and the RR2 route (bb.bb) without labels.
ip subnet-zero
mpls label protocol tdp
!
interface Loopback0
ip address ww.ww.ww.ww 255.255.255.255
no ip directed-broadcast
no ip route-cache
no ip mroute-cache
!
interface Ethernet0/2
ip address hh.0.0.2 255.0.0.0
no ip directed-broadcast
no ip mroute-cache
!
interface Ethernet0/3
ip address dd.0.0.1 255.0.0.0
no ip directed-broadcast
no ip mroute-cache
mpls label protocol ldp
tag-switching ip
!
router ospf 10
log-adjacency-changes
auto-cost reference-bandwidth 1000
redistribute connected subnets
passive-interface Ethernet0/2
network ww.ww.ww.ww 0.0.0.0 area 100
network dd.0.0.0 0.255.255.255 area 100
router bgp 100
bgp log-neighbor-changes
timers bgp 10 30
neighbor aa.aa.aa.aa remote-as 100
neighbor aa.aa.aa.aa update-source Loopback0
neighbor hh.0.0.1 remote-as 200
no auto-summary
!
!
address-family ipv4 ! Redistributing IGP into BGP
redistribute ospf 10 ! so that PE1 & RR1 loopbacks
neighbor aa.aa.aa.aa activate ! get into the BGP table
neighbor aa.aa.aa.aa send-label
neighbor hh.0.0.1 activate
neighbor hh.0.0.1 advertisement-interval 5
neighbor hh.0.0.1 send-label
neighbor hh.0.0.1 route-map IN in ! accepting routes in route map IN.
neighbor hh.0.0.1 route-map OUT out ! distributing routes in route map OUT.
neighbor kk.0.0.1 activate
neighbor kk.0.0.1 advertisement-interval 5
neighbor kk.0.0.1 send-label
neighbor kk.0.0.1 route-map IN in ! accepting routes in route map IN.
neighbor kk.0.0.1 route-map OUT out ! distributing routes in route map OUT.
no auto-summary
no synchronization
exit-address-family
!
ip default-gateway 3.3.0.1
ip classless
!
access-list 1 permit ee.ee.ee.ee log !Setting up the access lists
access-list 2 permit ff.ff.ff.ff log
access-list 3 permit aa.aa.aa.aa log
access-list 4 permit bb.bb.bb.bb log
route-map IN permit 10 !Setting up the route maps
match ip address 2
match mpls-label
!
route-map IN permit 11
match ip address 4
!
route-map OUT permit 12
match ip address 3
!
route-map OUT permit 13
match ip address 1
set mpls-label
!
end
Using a Route Map in an MPLS VPN CSC Network Example
The following example creates two route maps, which are named:
IN for incoming routes
OUT for outgoing routes
The route maps specify the following:
If an IP address in an incoming BGP update message matches an IP address in access list 99, the route is added to the BGP table.
If an IP address in an outbound BGP update message matches an IP address in access list 88, the router distributes that route.
The route maps are applied to the CSC-PE router with the address qq.0.0.1.
address-family ipv4 vrf vpn2
neighbor qq.0.0.1 remote-as 200
neighbor qq.0.0.1 activate
neighbor qq.0.0.1 as-override
neighbor qq.0.0.1 advertisement-interval 5
neighbor qq.0.0.1 route-map IN in
neighbor qq.0.0.1 route-map OUT out
neighbor qq.0.0.1 send-label
!
access-list 88 permit rr.rr.rr.rr
access-list 88 permit ss.ss.ss.ss
access-list 88 permit tt.tt.tt.tt
access-list 99 permit uu.uu.uu.uu
access-list 99 permit vv.vv.vv.vv
access-list 99 permit ww.ww.ww.ww
!
route-map IN permit 1
match ip address 99
!
route-map OUT permit 1
match ip address 88
set mpls-label
!
Additional References
Related Documents
Related Topic
Document Title
Basic MPLS VPNs
Configuring MPLS Layer 3 VPNs
MPLS VPN Carrier Supporting Carrier
MPLS VPN Carrier Supporting Carrier Using LDP and an IGP
MPLS VPN Carrier Supporting Carrier with BGP
MPLS VPN InterAutonomous Systems
MPLS VPN Inter-AS with ASBRs Exchanging IPv4 Routes and MPLS Labels
MPLS VPN Inter-AS with ASBRs Exchanging VPN-IPv4 Addresses
Standards
Standard
Title
No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
--
MIBs
MIB
MIBs Link
No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.
To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.
The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.
To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1
Feature Information for Route Maps in MPLS VPNs
Feature Name
Releases
Feature Configuration Information
This feature was included as part of the following features:
MPLS VPN Inter-Autonomous Systems - IPv4 BGP Label Distribution
MPLS VPN Carrier Supporting Carrier with IPv4 BGP Label Distribution
12.0(21)ST
12.0(22)S
12.0(23)S
12.2(13)T
12.0(24)S
12.2(14)S
12.0(27)S
12.0(29)S
Route maps enable you to specify which routes are distributed with MPLS labels. Route maps also enable you to specify which routes with MPLS labels a router receives and adds to its BGP table.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.