]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
authorOndrej Zajicek <santiago@crfreenet.org>
Mon, 21 Dec 2009 10:50:42 +0000 (11:50 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Mon, 21 Dec 2009 10:50:42 +0000 (11:50 +0100)
doc/bird.sgml
proto/bgp/attrs.c
proto/bgp/config.Y

index 81ef79b2161f406007e0af42f12e8a2d7ee467b3..e894353a7fd0075bd02c674eb3ef06b878970705 100644 (file)
@@ -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.
 
-       <tag>default bgp_local_pref <m/number/</tag> Value of the Local Preference
-       to be used during route selection when the Local Preference attribute
-       is missing. Default: 0.
+       <tag>default bgp_local_pref <m/number/</tag> 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).
 </descrip>
 
 <sect1>Attributes
index a0f18217a01a2f8e2c249cbf6ca7e6941f4675b6..5316481d496f372dd7a6c4d8e18017a2a6052e7a 100644 (file)
@@ -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;
 
index a469b4d70ba229eed88557caf5473ce228eb3a0d..b2061a187607b62966b951a822fc5635f25e017c 100644 (file)
@@ -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;
  }
  ;