CCIE: GRE Tunneling/Recursive Routing
Here is a subject and burned me in my last lab. I had a much more complex environment, but the fundamentals are the same.
Recursive routing errors occur when the tunnel destination is dynamically learned across the tunnel interface itself. Here are two simple methods to correct this behaivor.
1) Static route to the tunnel destination via any interface/path, but the tunnel interface (lower metric then a dynamic learned IGP). On the CCIE lab static routes are generally a no-no, that being said I would use method #2 or another filter method.
2) Distribution list to filter the tunnel destination from being learned via the IGP across the tunnel interface.
Example: Tunnel destination is 1.1.1.1 on R2 and 2.2.2.2 on R1
R2#
ip prefix-list RECURSIVE seq 10 deny 1.1.1.1/32
ip prefix-list RECURSIVE seq 20 permit 0.0.0.0/0 le 32
Router (eigrp,rip,ospf,bgp)
distribute-list prefix RECURSIVE out tunnel(X)
R1#
ip prefix-list RECURSIVE seq 10 deny 2.2.2.2/32
ip prefix-list RECURSIVE seq 20 permit 0.0.0.0/0 le 32
Router (eigrp,rip,ospf,bgp)
distribute-list prefix RECURSIVE out tunnel(X)