Preventing route looping by using route tagging

Document

Jun 5, 2015 12:06 AM
Dec 21st, 2009

Issue:

External EIGRP route not reachable by R1 and R10 in the topology bellow after redistribution between OSPF and EIGRP configured in R1 and R10

 

redist.jpg

 

 

Solution:

Before we start with the solution lets see the routing tables of each of the routers above

 

R3:

R3#sho ip route
     3.0.0.0/24 is subnetted, 1 subnets
C       3.3.3.0 is directly connected, Loopback0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.1.1.0 is directly connected, FastEthernet1/0
D EX 192.168.1.0/24 [170/2560002816] via 10.1.1.10, 00:00:43, FastEthernet1/0
                    [170/2560002816] via 10.1.1.1, 00:00:42, FastEthernet1/0
     150.1.0.0/24 is subnetted, 1 subnets
C       150.1.1.0 is directly connected, Loopback1

 

as we can see the network 150.1.1.0 is a directly connected network in R3 and this network advertised as external EIGRP network through redistribution

in other words R1 and R10 supposed to see this network as external EIGRP, lets see the routing table of R1 and R10:

 

R1#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
Known via "ospf 1", distance 110, metric 20
  Tag 190, type extern 2, forward metric 1
  Redistributing via eigrp 10
  Advertised by eigrp 10 metric 1 1 1 1 1
  Last update from 192.168.1.10 on FastEthernet1/0, 00:03:23 ago
  Routing Descriptor Blocks:
  * 192.168.1.10, from 192.168.1.10, 00:03:23 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1
      Route tag 190

 

R10#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
  Known via "eigrp 10", distance 170, metric 2560002816
  Tag 190, type external
  Redistributing via ospf 1, eigrp 10
  Advertised by ospf 1 subnets tag 190
  Last update from 10.1.1.1 on FastEthernet1/1, 00:03:35 ago
  Routing Descriptor Blocks:
  * 10.1.1.3, from 10.1.1.3, 00:03:35 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1
    10.1.1.1, from 10.1.1.1, 00:03:35 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1
      Route tag 190

 

As it shown in the routing table of R1 and R10 the network 150.1.1.0 is looping now

Simply because, R1 see it through OSPF with distance 110 and R10 see it from R1 and R3 and this will result in a typical routing loop

 

R10#ping 150.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

 

R1#ping 150.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

 

The main problem here is that EIGRP External Route has Administrative Distance of 170 and we did what is know as "mutual redistribution" between OSPF and EIGRP in both ASBR routers, this issue will happen with External EIGRP route only here, because each of R1 and R10 will see this route with a less admin distance "AD" from each other and a route looping will form in this case

Technically, there are multiple ways to solve issues like this and its always depends on the network design and how complex it is. In this document we will see how we can solve this issue by using route filtering combined with Route tagging

As shown above, in the routing tables of  both R1 and R10, there is a tag associated with the network 150.1.1.0 in R1 and R10, this is because: when the route redistribution from EIGRP into OSPF configured it was also tagged  with the following values and CLI commands:

R1:

router ospf 1

redistribute eigrp 10 subnets tag 1090

 

R10:

router ospf 1

redistribute eigrp 10 subnets tag 190

 

Now if we look at the "show ip route" result again we can notice that both ASBR routers have the deployed tagging,  this indicates that the routes is learned via OSPF after being redistributed, as mentioned above because of the higher distance of external EIGRP AD

 

R1#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
  Known via "ospf 1", distance 110, metric 20
  Tag 190, type extern 2, forward metric 1
  Redistributing via eigrp 10
  Advertised by eigrp 10 metric 1 1 1 1 1
  Last update from 192.168.1.10 on FastEthernet1/0, 00:16:49 ago
  Routing Descriptor Blocks:
  * 192.168.1.10, from 192.168.1.10, 00:16:49 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1
      Route tag 190    --- ----190 fom R10

 

R10#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
  Known via "eigrp 10", distance 170, metric 2560002816
  Tag 190, type external
  Redistributing via ospf 1, eigrp 10
  Advertised by ospf 1 subnets tag 190
  Last update from 10.1.1.1 on FastEthernet1/1, 00:17:49 ago
  Routing Descriptor Blocks:
  * 10.1.1.3, from 10.1.1.3, 00:17:49 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1
    10.1.1.1, from 10.1.1.1, 00:17:49 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1
      Route tag 190 --- this means that R1 advertising this ntwork back to R10 after its leaned it from R10 thorugh OSPF (tag 190)

 

Now the first step is that we know the route tags

 

R1  advertising EIGRP route with tag 1090

 

R10 advertising EGRP route with tag 190

 

Next we need to prevent the loop by blocking the route from being learned back by EIGRP domain. what that mean, in our example R1 needs to block any learned route with tag 190 to be redistributed back into EIGRP. Similarly, R10 needs to block any route with tag 1090 from being redistributed back into EIGRP

In this case we will make sure that any EIGRP route redistributed into OSPF Domain by R1 will not be redistributed back into EIGRP domain by R10. The exact same concept is applicable to R10 redistribution

lets see how we can recover our network above from the route looping with this concept:

 

R1:

route-map EIGRP deny 10    -------- this means deny any route has tag 190
match tag 190
!
route-map EIGRP permit 20   -- permit anything else

 

router eigrp 10
redistribute ospf 1 metric 1 1 1 1 1 route-map EIGRP

 

R10:

 

route-map EIGRP deny 10
match tag 1090
!
route-map EIGRP permit 20

router eigrp 10
redistribute ospf 1 metric 1 1 1 1 1 route-map EIGRP

 

lets pig now :

 

R1#ping 150.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/137/188 ms

 

R10#ping 150.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/64/156 ms

 

All good !!!!!

 

lets see the routing tables of R1 and R10

 

R10#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
  Known via "eigrp 10", distance 170, metric 2560002816, type external
  Redistributing via ospf 1, eigrp 10
  Advertised by ospf 1 subnets tag 190
  Last update from 10.1.1.3 on FastEthernet1/1, 00:03:46 ago
  Routing Descriptor Blocks:
  * 10.1.1.3, from 10.1.1.3, 00:03:46 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1

 

R1#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
Known via "ospf 1", distance 110, metric 20
  Tag 190, type extern 2, forward metric 1
  Redistributing via eigrp 10
  Last update from 192.168.1.10 on FastEthernet1/0, 00:30:37 ago
  Routing Descriptor Blocks:
  * 192.168.1.10, from 192.168.1.10, 00:30:37 ago, via FastEthernet1/0
      Route metric is 20, traffic share count is 1
      Route tag 190

 

Although we have just solved the looping issue, we still see this network in R1 through OSPF !!

As long as there is no route loop this is fine UNLESS you are looking for optimal route path in the case there are some extra steps you need to configured

 

We can use the same route-maps we created above that match the tagged traffic and then we apply under OSPF process using distribute list with a route map

 

lets do it in R1 to see the effect and then we can apply it in R10 as well

Keep in mind that you need to consider redundancy and backup links when you do it a real network design because with the filtering above you might block a redundant link ( just be ware and careful when you do it in production network with multiple paths)

As this document not for best path selection and optimal route there will be no deep details about how to configure this network for optimal path selection such as route metric tuning.

 

router ospf 1
distribute-list route-map EIGRP in

 

R1#show ip route 150.1.1.0
Routing entry for 150.1.1.0/24
  Known via "eigrp 10", distance 170, metric 2560002816, type external
  Redistributing via ospf 1, eigrp 10
  Advertised by ospf 1 subnets tag 1090
  Last update from 10.1.1.3 on FastEthernet1/1, 00:00:36 ago
  Routing Descriptor Blocks:
  * 10.1.1.3, from 10.1.1.3, 00:00:36 ago, via FastEthernet1/1
      Route metric is 2560002816, traffic share count is 1
      Total delay is 110 microseconds, minimum bandwidth is 1 Kbit
      Reliability 1/255, minimum MTU 1 bytes
      Loading 1/255, Hops 1

 

here we go the route now through R3 and through EIGRP in R1

 

same config need to be done in R10

 

Thank you

Marwan Alshawi

davidfarjecalderon Fri, 05/04/2012 - 14:18

great article.  I was looking for a practical example of the use of route tagging.  This article nailed it.

thanks.

Actions

This Document