Configuring multiple Static Mroutes for IPv4 in Cisco IOS
Last updated: 8/2003
-------------------------------------------------------------------------
In certain cases it is necessary to configure multiple static routes.
One example is to support routing traffic across two interfaces.
each of which may go down. Depending on the distance configured for the
static routes, one either wants to prefer one such interface (lower distance)
or load-split traffic across them (same distance on both interfaces).
For IPv4 unicast, the way to configure multiple equal cost static routes is
simple:
ip route
[ ]
ip route [ ]
Unfortunately, if only IP multicast traffic is to be passed across these
routes, one need to use "ip mroute" instead of "ip route". If "ip route"
is used, both unicast and multicast traffic are passed across the route.
"ip mroute" unfortunately has the limitation that you can only configure
one "ip mroute" for each prefix (eg: / combination), but
not two or more as shown above for the "ip route command".
The purpose of this configuration note is to describe the limited workaround
supported for this problem today in Cisco IOS IPv4 multicast. Note that this
problem does not apply to IPv6 multicast and as such the workarounds presented
here are also not necessary:
The following configuration is what IOS does not support:
ip mroute [ ]
ip mroute [ ]
To get this working, choose an unused IPv4 unicast address, for example
1.1.1.1 or something that is likewise easy identifyable as a address
to make troubleshooting easy. Then configure:
ip route 255.255.255.255 [ ]
ip route 255.255.255.255 [ ]
ip mroute
Effectively we use recursive route resolution to get around the problem
that only one "ip mroute command" can be configured for each
/ combination. You will need one bogus address for
each combination of next-hops that you want to route across of coures.
Notes:
o multipath routing not supported
If and are different, only the route with the
lower/lowest distance is being actively used. If the next-hop of that
route become unreachable the route with the next-higher distance is
being used.
If and are equal, Cisco IOS will only use
the first configured route entry when resolving this route
recursively via "ip mroute". This also means that you can not use
this workaround with recursive route resolution for equal cost
multipath routing for in conjunction with "ip multicast multipath".
You can use it without "ip mroute" though!
o Number of static (m)routes needed
In the most simple of cases (as shown above), the workaround solution
requires one more configuration like, but if you actually have
multiple sets of static mroutes to configure, the workaround also
results in less configuration likes. Assume that you have the two possible
and but a larger range of routes to pass across
it, eg: /,... /. With recursive
route resolution you effectively get 2 static routes and 20 static mroutes.
Without route recursion, you would need to configure 40 static (m)routes.
o Validation
You may want to use "show ip rpf" to verify the correct configuration
of your static routes/mroutes.
o Background
Recursive route resolution is quite standard when i(M)BGP is being used:
The i(M)BGP route has a remote PE router as the next hop and route lookup
recurses into the routing table to find an appropriate IGP routing table
entry for this remote PE router address. This recursion in the Cisco
IOS IPv4 unicast route lookup is not restricted to BGP->IGP recursion but
it works with all routes in the unicast routing table including static
routes. It is also not restricted to just one level of recursion. The
Cisco IOS IPv4 multicast RPF lookup can also support recursion, although
with some limitations not applicable to unicast: The first route examined
in a multicast RPF lookup can be an MBGP route, static mroute, DVMRP route
or a route from the unicast routing table (eg: IGPs, static routes and
BGP). If the result of this lookup renders a non-directly connected next
hop, recursion will only look into the unicast routing table from there
on. For example an mroute->mroute route recursion configuration is not
supported.
o Tunnels
Please refer to the following configuration note for a description
on how to apply this workaround to multiple GRE tunnel interfaces:
ftp://ftpeng.cisco.com/ipmulticast/config-notes/gre-tunnel.txt
Should you have problems with this configuration, please send email
to multicast-support@cisco.com
.