[c-nsp] Annoying BGP+MPLS Tunnel problem

Marko Milivojevic markom at pangalactic.net
Tue Apr 18 06:23:43 EDT 2006


Most probably because you are not tagging packets passing through the tunnel.

http://www.cisco.com/warp/public/105/mplsvpnte.html

Marko.

Code Monkey wrote:
> Hi,
> 
> Short version: I set up an MPLS tunnel between two routers, using
> global addresses, and the VRFs between the two routers stop working.
> Why?
> 
> Long version:
> 
> I have an MPLS network composed of three sites (A, B, C) connected in
> a triangle by very unequal links. Only sites A and C have Internet
> transits, and they exchange the Internet routes by iBGP over the very
> high bandwidth link A-C. The routers at B do not have the horsepower
> for full Internet routes, and I don't really care about B choosing the
> best exit point, so I have an IGP (OSPF) default route towards the
> nearest eBGP speaker that has an active session; so far, so good.
> 
> The problem is that the high-bandwidth link A-C can go down, and has
> done so several times. That leaves me with a dumb router at B that
> does not carry Internet routes sitting between two eBGP speakers at A
> and C that do, which is a problem when the eBGP speakers agree that
> the best route is through one of them, but the intermediate dumb
> router flips its coin and decides to to send it to the other router.
> This is exactly the situation described at
>     http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml#sec5
> 
> The case study in question solves the problem by (cough)
> redistributing BGP into OSPF (choke), and I Don't Want To Go There.
> 
> I had believed that MPLS tags would automagically solve the problem,
> but I don't think they did or I wouldn't have had problems. I may be
> wrong about that, but nothing is *forcing* my MPLS eBGP speakers to
> tag the packets.
> 
> So I thought that I have an MPLS network after all, what about using
> those cool TE tunnels I was drooling over, that should force the
> tagging of the packets.
> 
> I first wanted to create an explicit-path fallback tunnel over the
> backdoor, but it got used while the primary link was up, no good. I
> set up bandwidth costs so it wouldn't be used, but if I set less or
> equal to the existent bandwidth, I think the path would not be used
> because the non-tunnel alternative would be better, and if I set more
> bandwidth than there was available, it didn't set up the tunnel.
> 
> So why define an explicit path after all, it shouldn't matter if the
> tunnel is always used (should it?). I set the tunnel type to dynamic,
> and everything seemed to work wonderfully, until I realized that
> packets going between A and C inside a VRF... didn't. ip cef said they
> were sent over the tunnel, with one tag. On the other side of the
> tunnel, the tag existed and corresponded exactly to the desired
> destination inside the VRF. I didn't have time to check the return
> lap, I shut down the tunnels, and everything worked again.
> 
> With tunnel:
> 
> sh ip cef vrf $MYVRF $IP
> $IP/32, version 871, epoch 0
> 0 packets, 0 bytes
>   tag information set
>     local tag: VPN-route-head
>     fast tag rewrite with Tu0, point2point, tags imposed: {339}
>   via $GLOBAL_LOOPBACK_OF_A, 0 dependencies, recursive
>     next hop $GLOBAL_LOOPBACK_OF_A, Tunnel0 via $GLOBAL_LOOPBACK_OF_A/32
>     valid adjacency
>     tag rewrite with Tu0, point2point, tags imposed: {339}
> 
> After removing tunnel:
> 
> sh ip cef vrf $MYVRF $IP
> $IP/32, version 871, epoch 0, cached adjacency $CONNECTED_INTERFACE_OF_A
> 0 packets, 0 bytes
>   tag information set
>     local tag: VPN-route-head
>     fast tag rewrite with Fa1/0, $CONNECTED_INTERFACE_OF_A, tags imposed: {339}
>   via $GLOBAL_LOOPBACK_OF_A, 0 dependencies, recursive
>     next hop $CONNECTED_INTERFACE_OF_A, FastEthernet1/0 via
> $GLOBAL_LOOPBACK_OF_A/32
>     valid cached adjacency
>     tag rewrite with Fa1/0, $CONNECTED_INTERFACE_OF_A, tags imposed: {339}
> 
> So my questions: 1) am I attacking my problem in a reasonable way? 2)
> anyone have an idea why it doesn't work?
> 
> Thanks a lot for any insights!
> 
> _______________________________________________
> cisco-nsp mailing list  cisco-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/cisco-nsp
> archive at http://puck.nether.net/pipermail/cisco-nsp/
> 


More information about the cisco-nsp mailing list