[87665] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: metric 0 vs 'no metric at all'

daemon@ATHENA.MIT.EDU (Daniel Roesen)
Tue Jan 3 03:03:35 2006

Date: Tue, 3 Jan 2006 09:03:08 +0100
From: Daniel Roesen <dr@cluenet.de>
To: nanog@nanog.org
Mail-Followup-To: nanog@nanog.org
In-Reply-To: <20060103072143.GA14342@shekinah.ip.tiscali.net>
Errors-To: owner-nanog@merit.edu


On Tue, Jan 03, 2006 at 08:21:43AM +0100, Alexander Koch wrote:
> I was wondering if someone had done any or some research on
> this before...

Yup, when troubleshooting the ERXes former wrong handling of
"no MED". :-)

> basically I am not sure with all the many
> implementations of BGP and all the vendors if and what those
> will do when they see a metric of 0 and no metric.

"no MED" is supposed to be equal to "MED=0". Some BGP implementations
(e.g. ERX / Juniper E-Series) have knobs like "bgp bestpath
missing-as-worst" to fiddle with that.

RFC1771 states:

         d) MULTI_EXIT_DISC (Type Code 4):

            This is an optional non-transitive attribute that is a four
            octet non-negative integer. The value of this attribute may
            be used by a BGP speaker's decision process to discriminate
            among multiple exit points to a neighboring autonomous
            system.

   The MULTI_EXIT_DISC attribute may be used on external (inter-AS)
   links to discriminate among multiple exit or entry points to the same
   neighboring AS.  The value of the MULTI_EXIT_DISC attribute is a four
   octet unsigned number which is called a metric.  All other factors
   being equal, the exit or entry point with lower metric should be
   preferred.  If received over external links, the MULTI_EXIT_DISC
   attribute may be propagated over internal links to other BGP speakers
   within the same AS.  The MULTI_EXIT_DISC attribute is never
   propagated to other BGP speakers in neighboring AS's.

So the spec is fuzzy about how "no MED vs. MED=0" should be treated, but
vendors seem to largely agree to "no MED == MED 0". I know of no
deviation, except the old ERX bug which got fixed (ERX treated "no MED"
as best, even better than MED=0 - contrary to documentation).

> I am not an expert knowing the actual protocol's messages exchanged,
> but I see some routes with nothing in the metric field on the
> various show commands, and some have explicit '0' metric.

MED is an optional attribute which may be present or not.


Best regards,
Daniel

-- 
CLUE-RIPE -- Jabber: dr@cluenet.de -- dr@IRCnet -- PGP: 0xA85C8AA0

home help back first fref pref prev next nref lref last post