[c-nsp] BGP route not pre-empting floating static, sometimes
Blake Dunlap
ikiris at gmail.com
Thu Aug 29 12:08:53 EDT 2013
I would be careful using neighbor weight in this case. If anything, I would
set the specific route in question's weight via route-map, unless your
network is very simple (only this one uplink).
-Blake
On Thu, Aug 29, 2013 at 10:08 AM, Chris Hunt <dharmachris at gmail.com> wrote:
> Pete & Mike hit the nail on the head: "Routes learned through another
> BGP peer have a default weight of 0 and routes sourced by the local
> router have a default weight of 32768." I added a "neighbor weight"
> line to my colo router and now it's working fine:
>
> address-family ipv4 vrf TestCo
> redistribute connected
> redistribute static
> neighbor 10.180.3.2 remote-as 65000
> neighbor 10.180.3.2 update-source GigabitEthernet0/2.690
> neighbor 10.180.3.2 activate
> neighbor 10.180.3.2 next-hop-self
> neighbor 10.180.3.2 default-originate
> neighbor 10.180.3.2 weight 33000
> no synchronization
> exit-address-family
>
> Thanks very much for the help. May I be able to return the favor
>
> -Chris
>
>
> On 8/28/2013 6:11 PM, Pete Lumbis wrote:
> > Classic redistribution race condition. Notice in the failed state that
> > the BGP table shows two routes, one from the ISP and one that is
> > locally sourced ( from 0.0.0.0....weight 32768).
> >
> > What happens is that BGP is picking a best route and only presenting
> > that single route up to the routing table. The routing table is now
> > comparing the static against the best route BGP is presenting. Since
> > the BGP presented route /is the static/, it fails.
> >
> > When you clear the PPPoE session the static is removed from the
> > routing table. Because it's no longer in the routing table it's no
> > longer a candidate for redistribution into BGP. BGP then runs best
> > path and picks the ISP learned route, that goes in the routing table
> > and the floating static is kept at bay.
> >
> > The easiest fix is to apply a route map to your "redistribute static"
> > statement in BGP to either not redistribute the floating static or to
> > make it less preferred than the ISP route.
> >
> > -Pete
> >
> >
> > On Wed, Aug 28, 2013 at 6:38 PM, Chris Hunt <dharmachris at gmail.com
> > <mailto:dharmachris at gmail.com>> wrote:
> >
> > Gurus,
> > I'm having trouble getting BGP to preempt a floating static
> route.
> > The situation looks like this, I've got two paths from our colo to a
> > network at remote site (4.4.4.0/24 <http://4.4.4.0/24> in this lab
> > example): one metro
> > ethernet and one DSL , both inside a vrf. We're running BGP over the
> > metro ethernet circuit and just using a floating static in case the
> > ethernet fails and BGP goes down. That seems to work OK:
> > router-1#show ip route vrf TestCo 4.4.4.0
> > Routing entry for 4.4.4.0/24 <http://4.4.4.0/24>
> > Known via "bgp 65517", distance 20, metric 0
> > Tag 65000, type external
> > Last update from 10.180.3.2 00:00:01 ago
> > Routing Descriptor Blocks:
> > * 10.180.3.2, from 10.180.3.2, 00:00:01 ago
> > Route metric is 0, traffic share count is 1
> > AS Hops 1
> > Route tag 65000
> >
> >
> > When the ethernet fails, the BGP adjacency goes down the floating
> > static
> > pops up in the FIB:
> > Routing entry for 4.4.4.0/24 <http://4.4.4.0/24>
> > Known via "static", distance 254, metric 0
> > Redistributing via bgp 65517
> > Advertised by bgp 65517
> > Routing Descriptor Blocks:
> > * 192.168.100.14
> > Route metric is 0, traffic share count is 1
> >
> >
> > Then when I bring up the Ethernet link, BGP establishes, and the colo
> > router receives the advertisement:
> > router-1#show ip bgp vpnv4 vrf TestCo neighbors 10.180.3.2 routes
> > BGP table version is 392820, local router ID is 172.16.0.241
> > Status codes: s suppressed, d damped, h history, * valid, > best, i -
> > internal,
> > r RIB-failure, S Stale
> > Origin codes: i - IGP, e - EGP, ? - incomplete
> >
> > Network Next Hop Metric LocPrf Weight Path
> > Route Distinguisher: 200:1 (default for vrf TestCo)
> > * 4.4.4.0/24 <http://4.4.4.0/24> 10.180.3.2 0
> > 0 65000 i
> >
> > Total number of prefixes 1
> >
> > router-1#show ip bgp vpnv4 vrf TestCo 4.4.4.0
> > BGP routing table entry for 200:1:4.4.4.0/24 <http://4.4.4.0/24>,
> > version 392815
> > Paths: (2 available, best #2, table TestCo)
> > Advertised to update-groups:
> > 4 6
> > 65000
> > 10.180.3.2 from 10.180.3.2 (10.180.3.2)
> > Origin IGP, metric 0, localpref 100, valid, external
> > Extended Community: RT:200:1
> > mpls labels in/out 376/nolabel
> > Local
> > 192.168.100.14 from 0.0.0.0 (x.x.x.241)
> > Origin incomplete, metric 0, localpref 100, weight 32768,
> valid,
> > sourced, best
> > Extended Community: RT:200:1
> > mpls labels in/out 376/nolabel
> >
> >
> >
> > But it does not pre-empt the floating static in the FIB:
> > router-1#show ip ro vrf TestCo 4.4.4.0
> > Routing entry for 4.4.4.0/24 <http://4.4.4.0/24>
> > Known via "static", distance 254, metric 0
> > Redistributing via bgp 65517
> > Advertised by bgp 65517
> > Routing Descriptor Blocks:
> > * 192.168.100.14
> > Route metric is 0, traffic share count is 1
> >
> >
> > If i then clear the PPPoE session, the BGP route pops into the FIB
> and
> > we start all over:
> > router-1#show ip route vrf TestCo 4.4.4.0
> > Routing entry for 4.4.4.0/24 <http://4.4.4.0/24>
> > Known via "bgp 65517", distance 20, metric 0
> > Tag 65000, type external
> > Last update from 10.180.3.2 00:00:01 ago
> > Routing Descriptor Blocks:
> > * 10.180.3.2, from 10.180.3.2, 00:00:01 ago
> > Route metric is 0, traffic share count is 1
> > AS Hops 1
> > Route tag 65000
> >
> >
> > Any ideas what I'm doing wrong? Here's the config for the remote
> > office:
> > router bgp 65000
> > no synchronization
> > bgp router-id 10.180.3.2
> > bgp log-neighbor-changes
> > network 4.4.4.0 mask 255.255.255.0
> > neighbor 10.180.3.1 remote-as 65517
> > neighbor 10.180.3.1 update-source GigabitEthernet0/0
> > no auto-summary
> >
> > And the colo config (7206VXR):
> > address-family ipv4 vrf TestCo
> > redistribute connected
> > redistribute static
> > neighbor 10.180.3.2 remote-as 65000
> > neighbor 10.180.3.2 update-source GigabitEthernet0/2.690
> > neighbor 10.180.3.2 activate
> > neighbor 10.180.3.2 next-hop-self
> > neighbor 10.180.3.2 default-originate
> > no synchronization
> > exit-address-family
> >
> >
> >
> >
> > _______________________________________________
> > cisco-nsp mailing list cisco-nsp at puck.nether.net
> > <mailto:cisco-nsp at puck.nether.net>
> > https://puck.nether.net/mailman/listinfo/cisco-nsp
> > archive at http://puck.nether.net/pipermail/cisco-nsp/
> >
> >
>
> _______________________________________________
> 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