Route Maps are similar to If/Then/Else logic seen in other programming languages. a route map contains route-map commands, and routers process route-map commands in sequential order based on sequence number.
Each route-map command has matching parameters, and also one or more optional set commands that you can use to manipulate what you’ve matched. Here are the rules route-maps have to abide by:
- each route-map must have a configured name, with all commands using the same name being part of the same route-map
- Each route-map has a permit or deny action
- each route-map command has a sequence number, you can delete and route-map commands by inserting them into the existing sequence.
- when route-maps are used for distribution they process routes from the current routing table.
- route-maps are processed sequentially based on sequence numbers
- once a route has been matched by a route map it is not checked by any subsequent route map commands
- when a route is matched in a statement, if the command is a permit action the route will be redistributed (specific to redistribution)
- when a route is matched in a statement, if the command is a deny action the route is not distributed (specific to redistribution)
Route map logic when used for redistribution:
- route-map commands with the permit option either cause a route to be redistributed or leave the route in the list of routes to be examined by the next route-map clause
- route-map commands with the deny option will either filter the route or leave the route in the list of routes to be examined by the next route-map command
- If a clause’s match commands use an ACL, an ACL match with the deny action does not cause the route to be filtered.it just means that the route does not match that specific clause
- if the route map command includes an implied deny all clause to configure a permit all configure a route-map command with an action to permit but no matching commands.