I've seen a lot of messages lately on making BGP scale better in order to
increase the stability on the Internet. I do have one suggestion for a lot
of ISPs out there. Unless you know that someone is listening to your MEDs,
don't send them. Most ISPs don't listen to them and due to address
aggregation most ISPs don't announce MEDs correctly (yes, there are some
that do it right). By sending MEDs to folks that aren't listening, you're
IGP instability unnecessarily contributes to the overall BGP instability.
I personally have always taken the attitude that I'll announce MEDs to
everyone, and if they listen they listen. At the time, I didn't realize the
interaction between damping and MEDs. A changing MED value counts as a flap
(actually half a flap) on both Cisco and Juniper routers. Overwriting
incoming MEDs on a Cisco will prevent a changing MED from contributing to
damping, but a changing MED on a Juniper will contribute to damping
regardless of whether or not it's overwritten.. I don't necessarily want to
debate whether or not this behavior is correct, take that up with the
vendors. I do want to say that the amount of BGP churn for your routes
could dramatically decrease if you stop sending MEDs.
To clarify, I'm referring to MEDs based upon IGP distance...MEDs with static
values don't change and thus don't cause a problem. In addition, Cisco will
actually wait 10m before propagating the MED change which decreases the
potential churn a bit.