Pages

Saturday, January 29, 2011

Routing Loop (Redistribution)


Routing loop might occur when doing mutual redistribution between routing protocols. Therefore, to help prevent the routing loop, we need to filter routes from being learned by its neighbors. Route-map is the most powerful tools we can use to accomplish this preventing routes redistribute back to the original domain.

Example.
We need to filter route from redistribute back to the original domain eg., preventing EIGRP route from being redistribute back to EIGRP domain from OSPF and RIP. In this scenario. we will use route-map to do this.

To order to fully prevent the route redistribution back which may cause the loop, we require to configure route-map for all routing domain and all direction. See Configuration below.

Configuration


 R1
// deny OSPF learned route redistributed back to OSPF
route-map EIGRP->OSPF deny 10
 match tag 300


// Allow RIP learned route redistributed to OSPF
route-map EIGRP->OSPF permit 20
 match tag 100

// Allow the rest of routes (EIGRP) redistributed to OSPF and set tag 200
route-map EIGRP->OSPF permit 30
 set tag 200


**************


// deny EIGRP learned route redistributed back to EIGRP
route-map OSPF->EIGRP deny 10
 match tag 200

// Allow RIP learned route redistributed to EIGRP
route-map OSPF->EIGRP permit 20
 match tag 100

// Allow the rest of routes (OSPF) redistributed to EIGRP and set tag 300
route-map OSPF->EIGRP permit 30
 set tag 300
!

Redistribution
router eigrp 1
 redistribute ospf 1 metric 1000 10 255 1 1500 route-map OSPF->EIGRP
 auto-summary
!
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1 subnets route-map EIGRP->OSPF



R2
route-map EIGRP->RIP deny 10
 match tag 100
route-map EIGRP->RIP permit 20
 match tag 300
route-map EIGRP->RIP permit 30
 set tag 200

route-map RIP->EIGRP deny 10
 match tag 200
route-map RIP->EIGRP permit 20
 match tag 300
route-map RIP->EIGRP permit 30
 set tag 100

Redistribution
router eigrp 1
 redistribute rip metric 1000 10 255 1 1500 route-map RIP->EIGRP
 auto-summary
!
router rip
 version 2
 redistribute eigrp 1 subnets route-map EIGRP->RIP

 R1
route-map EIGRP->OSPF deny 10
 match tag 300
route-map EIGRP->OSPF permit 20
 match tag 100
route-map EIGRP->OSPF permit 30
 set tag 200

route-map OSPF->EIGRP deny 10
 match tag 200
route-map OSPF->EIGRP permit 20
 match tag 100
route-map OSPF->EIGRP permit 30
 set tag 300
!

Redistribution
router eigrp 1
 redistribute ospf 1 metric 1000 10 255 1 1500 route-map OSPF->EIGRP
 auto-summary
!
router ospf 1
 log-adjacency-changes
 redistribute eigrp 1 subnets route-map EIGRP->OSPF



R3
route-map OSPF->RIP deny 10
 match tag 100
route-map OSPF->RIP permit 20
 match tag 200
route-map OSPF->RIP permit 30
 set tag 300

route-map RIP->OSPF deny 10
 match tag 300
route-map RIP->OSPF permit 20
 match tag 200
route-map RIP->OSPF permit 30
 set tag 100

Redistribution
router ospf 1
 redistribute rip subnets route-map RIP->OSPF
 auto-summary
!
router rip
 redistribute ospf 1 metric 3 route-map OSPF-RIP


2 comments:

  1. Are the route tags propagated? I didn't think they were. For example: you set tag 300 on R3, and evaluate for it on R1. But if the tags are locally significant, R1 will never see a prefix tagged at 300?

    ReplyDelete