From: Ondrej Zajicek Date: Mon, 21 Dec 2009 10:50:42 +0000 (+0100) Subject: Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277). X-Git-Tag: v1.2.0~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fbcb7d5faf419057ccbe2340f3714f8885495c51;p=thirdparty%2Fbird.git Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277). --- diff --git a/doc/bird.sgml b/doc/bird.sgml index 81ef79b21..e894353a7 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -1043,9 +1043,12 @@ for each neighbor using the following configuration parameters: Discriminator to be used during route selection when the MED attribute is missing. Default: 0. - default bgp_local_pref Value of the Local Preference - to be used during route selection when the Local Preference attribute - is missing. Default: 0. + default bgp_local_pref A default value + for the Local Preference attribute. It is used when a new + Local Preference attribute is attached to a route by the BGP + protocol itself (for example, if a route is received through + eBGP and therefore does not have such attribute). Default: 100 + (0 in pre-1.2.0 versions of BIRD). Attributes diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index a0f18217a..5316481d4 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -871,7 +871,7 @@ bgp_create_attrs(struct bgp_proto *p, rte *e, ea_list **attrs, struct linpool *p else set_next_hop(z, rta->gw); - bgp_set_attr(ea->attrs+3, BA_LOCAL_PREF, 0); + bgp_set_attr(ea->attrs+3, BA_LOCAL_PREF, p->cf->default_local_pref); return 0; /* Leave decision to the filters */ } @@ -1421,7 +1421,7 @@ bgp_decode_attrs(struct bgp_conn *conn, byte *attr, unsigned int len, struct lin /* If there's no local preference, define one */ if (!(seen[0] & (1 << BA_LOCAL_PREF))) - bgp_attach_attr(&a->eattrs, pool, BA_LOCAL_PREF, 0); + bgp_attach_attr(&a->eattrs, pool, BA_LOCAL_PREF, bgp->cf->default_local_pref); return a; diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y index a469b4d70..b2061a187 100644 --- a/proto/bgp/config.Y +++ b/proto/bgp/config.Y @@ -44,6 +44,7 @@ bgp_proto_start: proto_start BGP { BGP_CFG->enable_as4 = 1; BGP_CFG->capabilities = 2; BGP_CFG->advertise_ipv4 = 1; + BGP_CFG->default_local_pref = 100; } ;