[c-nsp] "pull-up" routes not actually preventing BGP damping ?

Mark Zipp mark.r.zipp at gmail.com
Sun Sep 17 22:37:59 EDT 2006


Hi,

Here's what I understand to be the canonical method of creating
"pull-up" routes, to ensure exterior to the AS, internal route flaps
aren't seen :

--
router bgp 64512
  neighbour 1.1.1.1 remote-as 64768
  network 1.0.0.0


ip route 1.0.0.0 255.0.0.0 null0 240
--

where an IGP such as OSPF would provide the 1.0.0.0/8 route with a
lower AD than 240.

However, it seems that by default, at least with IOS 12.4(6)T2 (on an
877), the network statement automatically attaches a MED/Metric to the
route, with the MED set to the IGP's metric when the route is learned
from an IGP, or a MED value of 0 when the route is learned via a
connected route, which seems to include the null0 sink static route.
Of course, when the IGP to null0 route swap occurs, as a a route
attribute as changed, any eBGP peer would then consider a route-flap
to have occured, which of course defeats the purpose of doing the
above in the first place ! After discovering this, I looked up MED in
"BGP Design and Implementation" (pg. 19), and it says that that is
what IOS does.

Here's a debug of a BGP update on an eBGP peer, showing the MED value
changing (with an OSPF metric artificially set to 16384), and then the
eBGP peer considering the route to have flapped, due to the MED value
change :

--
as64768-r1#show ip bgp 2.0.0.0
BGP routing table entry for 2.0.0.0/24, version 79
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Not advertised to any peer
  64512
    1.1.1.9 from 1.1.1.9 (2.0.0.0)
      Origin IGP, metric 16385, localpref 100, valid, external, best
as64768-r1#
*Mar 10 02:11:07.703: BGP(0): 1.1.1.9 rcvd UPDATE w/ attr: nexthop
1.1.1.9, origin i, metric 0, path 64512
*Mar 10 02:11:07.703: BGP(0): 1.1.1.9 rcvd 2.0.0.0/24
*Mar 10 02:11:07.703: BGP(0): Revise route installing 1 of 1 routes
for 2.0.0.0/24 -> 1.1.1.9(main) to main IP table
as64768-r1#show ip bgp 2.0.0.0
BGP routing table entry for 2.0.0.0/24, version 80
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Not advertised to any peer
  64512
    1.1.1.9 from 1.1.1.9 (2.0.0.0)
      Origin IGP, metric 0, localpref 100, valid, external, best
      Dampinfo: penalty 494, flapped 1 times in 00:00:19
as64768-r1#
--

I think a way to prevent this is to manually set the MED to some
static value via either a route-map statement as a network command
parameter, or via a route-map out statement on the neighbor command.
I'm curious though, is doing so common practice, and is this fairly
recently changed behaviour in IOS ? I can't seem to find any reference
to this issue through a few google searches, or going through a few of
the BGP best practice presentations from nanog etc.

Thanks,
Mark.


More information about the cisco-nsp mailing list