Redistribution from OSPF into EIGRP and vice-versa issues

eigrpospf

enter image description here

in this scenario R4 redistribute 8.0.0.0/8 network from an external source into EIGRP domain, R2 and R3 are doing mutual redistribution from OSPF into EIGRP and vice versa, so we have mutual redistribution on multiple devices, when R2 and R3 learn 8.0.0.0/8 network, they put it in their Routing table as EIGRP external route, the question is regarding mutual redistribution on both R2 and R3 they both must advertise that to R1 as OSPF external route, so R1 should have 2 routes toward 8.0.0.0/8 network in its Routing table, and also based on this event, R2 must learn 8.0.0.0/8 as E2 and also R3 must have that route as E2 too,which will result in having a loop but this is not happening, so what's the reason could be possibly?

Best Answer

Since you don't provide any configuration I can't give you any specific answer.

In general when you perform two-way redisitrbution between two network protocols at multiple points you tag the routes so that when it reaches another redistribution point it will be filtered and hence not redistributed back into the original routing domain.

R1 should have two routes for 8.0.0.0/8 and possibly both in the routing table if it's the same cost. R2 and R3 will only have one route each with next hop of R4 in their routing tables since EIGRP has Administrative Distance of 90 which is more believable than 110 of OSPF.

Edit: Two-way redistribution at multiple points is always a bit tricky to understad but I'm gonna try to explain what I think is happening.

R3 retrieves route with ad 170 from R4, redistributes into OSPF with ad 110. R1 receives a route to 8.0.0.0/8 with ad 110 and passes it to R2. R2 has now got 2 routes: ad 110 via ospf and ad 170 via eigrp, the ospf route will be inserted into routing table and then passed along to R4 vid ad 170 since it's external.

R4 retrieves the ad 170 advertisement from R2 but since it's has got a shorter path to 8.0.0.0/8 it will continue to advertise it's own path instead of the one coming from R2.

R2 retrieves route with ad 170 from R4 and route with ad 110 from R1 for network 8.0.0.0/8 and hence will insert route from R1 into routing table instead of the one from R4 and will not redistribute the eigrp route since it has already got a "better" route coming from R1.

Ofcourse it could be the other way around depending on who is first.