Route feedback

Hello,

I have some doubts with regards to mutual IGP redistribution with 2 exit points.

In particular I've been labbing redist between EIGRP and OSPF on the following topology:

4 routers R1 through R4

     R9

  /      

R10 ----R11

         /

     R12

 

R9-R10-R11 all running EIGRP

R9 redists connected (in this case loopback0 - 20.0.0.0/24)

R10-R11-R12 all running OSPF

 

At step 1 I have R10 and R11 reaching 20.0.0.0/24 from R9 with AD170 (D EX)

At step 2 I redist EIGRP into OSPF at R11. Result is R11 still reaches 20.0.0.0 from R9; R10 reaches 20.0.0.0 from R11 via OSPF AD110

At step 3 I redist EIGRP into OSPF at R10. No changing since R10 is not using route to R9 so it won't redist back into OSPF

At step 4 I redist OSPF into EIGRP at R11. No changing since R11 is not using OSPF to reach 20.0.0.0/24 so it won't redist into EIGRP

At step 5a I redist OSPF into EIGRP at R10 with high metric. R11 will see 20.0.0.0/24 in eigrp topology  however it will keep using route to R9 and redistribute it into OSPF like before.

At step 5b I redist OSPF into EIGRP at R10 with low metric. R10 will see 20.0.0.0/24 in eigrp topology with better metric than R9. It will install route to R10 and redist it into OSPF. R10 will then start flapping between OSPF(110) via R11 and EIGRP(170) via R9. R11 will start flapping between EIGRP(170) via R10 and EIGRP(170) via R9.

 

My doubt is: R11 will keep redistributing into OSPF with the same metric, same next-hop (but different forward address) - why would R10 stop believing in OSPF(110) via R11 and start using EIGRP(170) via R9?

I believe it is because R10 will start seeing it's own IP in the forward address:

R10#sh ip ospf data ext 20.0.0.0

            OSPF Router with ID (110.0.0.10) (Process ID 1)

                Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 1
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 20.0.0.0 (External Network Number )
  Advertising Router: 119.0.0.11
  LS Seq Number: 800002BA
  Checksum: 0x3F96
  Length: 36
  Network Mask: /24
        Metric Type: 2 (Larger than any link state path)
        TOS: 0
        Metric: 20
        Forward Address: 110.0.0.10
        External Route Tag: 0

that would make sense. however I'm not sure why when R11 reaches 20.0.0.0/24 via R9 it will report no forward address:

R10#sh ip ospf data ext 20.0.0.0

            OSPF Router with ID (110.0.0.10) (Process ID 1)

                Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 1
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 20.0.0.0 (External Network Number )
  Advertising Router: 119.0.0.11
  LS Seq Number: 80000303
  Checksum: 0x60A4
  Length: 36
  Network Mask: /24
        Metric Type: 2 (Larger than any link state path)
        TOS: 0
        Metric: 20
        Forward Address: 0.0.0.0
        External Route Tag: 0

 

The same happens if I use RIP instead of OSPF, however in this case as soon as R11 uninstalls the route to R9 and sees the better route via R10 EIGRP(170) it will poison the RIP route (and therefore R10 uninstalls it, don't redistribute and so on...)

Am I correct? Can you please confirm/explain?

Thanks in advance

 

Comments

  • I don't understand the step 2... why you type R2 and R3?

     

    try debug ip routing

    did you use route-map in the redistribution?

  • I think there is a duplicate router-id issue

  • I edited my previous post. To simplify my question I originally reported R1-R2-R3-R4 - when I pasted command output I realized it might have generated some confusion so I decided to report real hostnames. I forgot to replace hostnames at step 2 description, now it's fine.

    I just use simple redistribution without filtering:

    R10#sh run | section router
    router eigrp 1
     redistribute rip metric 100000 1 255 1 1500
     network 109.0.0.10 0.0.0.0
     network 110.0.0.10 0.0.0.0
     no auto-summary
    router rip
     version 2
     timers basic 2 4 4 10
     redistribute eigrp 1 metric 2
     network 102.0.0.0
     network 110.0.0.0
     no auto-summary

    R11#sh run | sec router
    router eigrp 1
     redistribute rip metric 100000 1 255 1 1500
     network 110.0.0.11 0.0.0.0
     network 119.0.0.11 0.0.0.0
     auto-summary
    router rip
     version 2
     timers basic 2 4 4 10
     redistribute eigrp 1 metric 2
     network 110.0.0.0
     network 112.0.0.0
     no auto-summary

    this is a typical route feedback issue when redistributing a higher AD proto into a lower AD one. This is shown in debug ip routing as well:

    R10

    access-list 1 permit 20.0.0.0

    R10(config)#router eigrp 1
    R10(config-router)#no redistribute rip metric 100000 1 255 1 1500
    R10(config-router)#do debug ip routing 1
    IP routing debugging is on for access list 1
    R10(config-router)#do sh ip route 20.0.0.0
    Routing entry for 20.0.0.0/24, 1 known subnets
      Redistributing via eigrp 1, rip

    R       20.0.0.0 [120/2] via 110.0.0.11, 00:00:01, FastEthernet2/0
    R10(config-router)#redistribute rip metric 100000 1 255 1 1500
    R10(config-router)#
    *Mar  1 00:15:30.479: RT: delete route to 20.0.0.0 via 110.0.0.11, rip metric [120/2]
    *Mar  1 00:15:30.483: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 11.13.11.13

    *Mar  1 00:15:30.487: RT: no routes to 20.0.0.0, entering holddown
    *Mar  1 00:15:30.487: RT: NET-RED 20.0.0.0/24
    R10(config-router)#
    *Mar  1 00:15:32.495: RT: delete subnet route to 20.0.0.0/24
    *Mar  1 00:15:32.499: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:32.503: RT: delete network route to 20.0.0.0
    *Mar  1 00:15:32.503: RT: NET-RED 20.0.0.0/8
    *Mar  1 00:15:32.515: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 109.0.0.9

    *Mar  1 00:15:32.523: RT: add 20.0.0.0/24 via 109.0.0.9, eigrp metric [170/156160]
    *Mar  1 00:15:32.523: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:32.627: RT: closer admin distance for 20.0.0.0, flushing 1 routes
    *Mar  1 00:15:32.631: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:32.635: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 110.0.0.11

    *Mar  1 00:15:32.639: RT:
    R10(config-router)#add 20.0.0.0/24 via 110.0.0.11, rip metric [120/2]
    *Mar  1 00:15:32.643: RT: NET-RED 20.0.0.0/24
    R10(config-router)#
    *Mar  1 00:15:38.511: RT: delete route to 20.0.0.0 via 110.0.0.11, rip metric [120/2]
    *Mar  1 00:15:38.511: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 11.13.11.13

    *Mar  1 00:15:38.511: RT: no routes to 20.0.0.0, entering holddown
    *Mar  1 00:15:38.511: RT: NET-RED 20.0.0.0/24
    R10(config-router)#
    *Mar  1 00:15:40.519: RT: delete subnet route to 20.0.0.0/24
    *Mar  1 00:15:40.523: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:40.523: RT: delete network route to 20.0.0.0
    *Mar  1 00:15:40.523: RT: NET-RED 20.0.0.0/8
    *Mar  1 00:15:40.535: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 109.0.0.9

    *Mar  1 00:15:40.539: RT: add 20.0.0.0/24 via 109.0.0.9, eigrp metric [170/156160]
    *Mar  1 00:15:40.543: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:40.671: RT: closer admin distance for 20.0.0.0, flushing 1 routes
    *Mar  1 00:15:40.675: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:15:40.679: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 110.0.0.11

    *Mar  1 00:15:40.683: RT:
    R10(config-router)#add 20.0.0.0/24 via 110.0.0.11, rip metric [120/2]
    *Mar  1 00:15:40.687: RT: NET-RED 20.0.0.0/24
    R10(config-router)#do u all
    All possible debugging has been turned off
    R10(config-router)#

    I get how the feedback happens however it is not clear to me why R10 stops using R11 route in the OSPF case and begins using back EIGRP(170) route to R9 (109.0.0.9).

    In the RIP case I see R11 poisoning 20.0.0.0 with a metric of 16 as soon as it withdrawns the route to R9 and start using EIGRP(170) via R10, so looks like more clear to me why R10 stops using RIP(120) to R11 and starts back with EIGRP(170) to R9:

    R11(config)#do sh run | sec router
    router eigrp 1
     redistribute rip metric 100000 1 255 1 1500
     network 110.0.0.11 0.0.0.0
     network 119.0.0.11 0.0.0.0
     auto-summary
    router rip
     version 2
     timers basic 2 4 4 10
     redistribute eigrp 1 metric 2
     network 110.0.0.0
     network 112.0.0.0
     no auto-summary
    R11(config)#do debug ip routing 1
    IP routing debugging is on for access list 1
    R11(config)#do sh ip route 20.0.0.0
    Routing entry for 20.0.0.0/24, 1 known subnets
      Redistributing via eigrp 1, rip

    D EX    20.0.0.0 [170/156160] via 119.0.0.9, 00:02:02, FastEthernet0/0
    R11(config)#! START TO REDI RIP INTO EIGRP AT R10
    R11(config)#
    *Mar  1 00:30:47.515: RT: del 20.0.0.0/24 via 119.0.0.9, eigrp metric [170/156160]
    *Mar  1 00:30:47.519: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 11.13.11.13

    *Mar  1 00:30:47.523: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 110.0.0.10

    *Mar  1 00:30:47.527: RT: add 20.0.0.0/24 via 110.0.0.10, eigrp metric [170/28416]
    *Mar  1 00:30:47.531: RT: NET-RED 20.0.0.0/24
    R11(config)#
    *Mar  1 00:30:52.535: RT: delete route to 20.0.0.0 via 110.0.0.10, eigrp metric [170/28416]
    *Mar  1 00:30:52.539: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 110.0.0.10, FastEthernet2/0

    *Mar  1 00:30:52.543: RT: no routes to 20.0.0.0
    *Mar  1 00:30:52.543: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:30:52.547: RT: delete subnet route to 20.0.0.0/24
    *Mar  1 00:30:52.547: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:30:52.551: RT: delete network route to 20.0.0.0
    *Mar  1 00:30:52.555: RT: NET-RED 20.0.0.0/8
    *Mar  1 00:30:52.559: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 119.0.0.9

    *Mar  1 00:30:52.559: RT: add 20.0.0.0/24 via 119.0.0.9, eigrp metric [170/156160]
    R11(config)#
    *Mar  1 00:30:52.559: RT: NET-RED 20.0.0.0/24
    R11(config)#
    *Mar  1 00:30:54.743: RT: del 20.0.0.0/24 via 119.0.0.9, eigrp metric [170/156160]
    *Mar  1 00:30:54.747: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 11.13.11.13

    *Mar  1 00:30:54.751: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 110.0.0.10

    *Mar  1 00:30:54.755: RT: add 20.0.0.0/24 via 110.0.0.10, eigrp metric [170/28416]
    *Mar  1 00:30:54.759: RT: NET-RED 20.0.0.0/24
    R11(config)#
    *Mar  1 00:31:00.531: RT: delete route to 20.0.0.0 via 110.0.0.10, eigrp metric [170/28416]
    *Mar  1 00:31:00.531: RT: SET_LAST_RDB for 20.0.0.0/24
      OLD rdb: via 110.0.0.10, FastEthernet2/0

    *Mar  1 00:31:00.535: RT: no routes to 20.0.0.0
    *Mar  1 00:31:00.539: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:31:00.543: RT: delete subnet route to 20.0.0.0/24
    *Mar  1 00:31:00.547: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:31:00.547: RT: delete network route to 20.0.0.0
    *Mar  1 00:31:00.547: RT: NET-RED 20.0.0.0/8
    *Mar  1 00:31:00.547: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 119.0.0.9

    *Mar  1 00:31:00.547: RT: add 20.0.0.0/24 via 119.0.0.9, eigrp metric [170/156160]
    R11(config)#
    *Mar  1 00:31:00.547: RT: NET-RED 20.0.0.0/24
    R11(config)#
    *Mar  1 00:31:02.559: RT: closer admin distance for 20.0.0.0, flushing 1 routes
    *Mar  1 00:31:02.559: RT: NET-RED 20.0.0.0/24
    *Mar  1 00:31:02.567: RT: SET_LAST_RDB for 20.0.0.0/24
      NEW rdb: via 110.0.0.10

    *Mar  1 00:31:02.571: RT: add 20.0.0.0/24 via 110.0.0.10, rip metric [120/2]
    *Mar  1 00:31:02.571: RT: NET-RED 20.0.0.0/24
    R11(config)#do u all
    All possible debugging has been turned off
    R11(config)#

     

  • Router-ID is unique in the network.

    Forwarding address in LSA is not the router-id:

    http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a008009405a.shtml

Sign In or Register to comment.