]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Changes 'ignore communities' to 'interpret communities'.
authorOndrej Zajicek <santiago@crfreenet.org>
Thu, 28 Jan 2010 14:59:18 +0000 (15:59 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Thu, 28 Jan 2010 14:59:18 +0000 (15:59 +0100)
doc/bird.sgml
proto/bgp/attrs.c
proto/bgp/bgp.h
proto/bgp/config.Y

index c1fc3d8885ba73f37f1ed3856a4cf02a7151b4a9..343d016bcc4aa6c155db8849d9022f2ef26f8d43 100644 (file)
@@ -996,16 +996,17 @@ for each neighbor using the following configuration parameters:
        capability and accepts such requests. Even when disabled, BIRD
        can send route refresh requests. Default: on.
 
-       <tag>ignore communities <m/switch/</tag> RFC 1997 demands that
-       BGP speaker should process well-known communities like
+       <tag>interpret communities <m/switch/</tag> RFC 1997 demands
+       that BGP speaker should process well-known communities like
        no-export (65535, 65281) or no-advertise (65535, 65282). For
        example, received route carrying a no-adverise community
-       should not be advertised to any of its neighbors. BIRD has
-       such behavior hardwired (it is evaluated when a route is
-       exported to the protocol just before the export filter). This
-       option allows to disable such hardwired processing of
-       well-known communities (in that case, similar behavior can be
-       implemented in the export filter).  Default: off.
+       should not be advertised to any of its neighbors. If this
+       option is enabled (which is by default), BIRD has such
+       behavior automatically (it is evaluated when a route is
+       exported to the protocol just before the export filter).
+       Otherwise, this integrated processing of well-known
+       communities is disabled. In that case, similar behavior can be
+       implemented in the export filter.  Default: on.
 
        <tag>enable as4 <m/switch/</tag> BGP protocol was designed to use 2B AS numbers
        and was extended later to allow 4B AS number. BIRD supports 4B AS extension,
index 9bf6fd505bc9eeb50c59d5a0d0697d9a5f4b6945..4cfabf18a0add71dfa95cba7322e2c9ea1411c7a 100644 (file)
@@ -976,7 +976,7 @@ bgp_import_control(struct proto *P, rte **new, ea_list **attrs, struct linpool *
       if (bgp_cluster_list_loopy(p, e->attrs))
        return -1;
 
-      if (!p->cf->ignore_communities && bgp_community_filter(p, e))
+      if (p->cf->interpret_communities && bgp_community_filter(p, e))
        return -1;
 
       if (p->local_as == new_bgp->local_as && p->is_internal && new_bgp->is_internal)
index 9966d20b16387e974454fcb53d995c3e36cfdc5c..7f574ed451d5e8d89514a13cf5832180a17c850b 100644 (file)
@@ -37,7 +37,7 @@ struct bgp_config {
   int advertise_ipv4;                  /* Whether we should add IPv4 capability advertisement to OPEN message */
   u32 route_limit;                     /* Number of routes that may be imported, 0 means disable limit */
   int passive;                         /* Do not initiate outgoing connection */
-  int ignore_communities;              /* Skip hardwired handling of well-known communities */
+  int interpret_communities;           /* Hardwired handling of well-known communities */
   unsigned connect_retry_time;
   unsigned hold_time, initial_hold_time;
   unsigned keepalive_time;
index cf32cd164bb37421cc126cf60fada0f271f76bee..095e1cec682fab20336a56e91c65381d7fdf288c 100644 (file)
@@ -23,7 +23,7 @@ CF_KEYWORDS(BGP, LOCAL, NEIGHBOR, AS, HOLD, TIME, CONNECT, RETRY, KEEPALIVE,
        BGP_ATOMIC_AGGR, BGP_AGGREGATOR, BGP_COMMUNITY, SOURCE, ADDRESS,
        PASSWORD, RR, RS, CLIENT, CLUSTER, ID, AS4, ADVERTISE, IPV4,
        CAPABILITIES, LIMIT, PASSIVE, PREFER, OLDER, MISSING, LLADDR,
-       DROP, IGNORE, ROUTE, REFRESH, COMMUNITIES)
+       DROP, IGNORE, ROUTE, REFRESH, INTERPRET, COMMUNITIES)
 
 CF_GRAMMAR
 
@@ -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->interpret_communities = 1;
      BGP_CFG->default_local_pref = 100;
  }
  ;
@@ -86,7 +87,7 @@ bgp_proto:
  | bgp_proto PASSWORD TEXT ';' { BGP_CFG->password = $3; }
  | bgp_proto ROUTE LIMIT expr ';' { BGP_CFG->route_limit = $4; }
  | bgp_proto PASSIVE bool ';' { BGP_CFG->passive = $3; }
- | bgp_proto IGNORE COMMUNITIES bool ';' { BGP_CFG->ignore_communities = $4; }
+ | bgp_proto INTERPRET COMMUNITIES bool ';' { BGP_CFG->interpret_communities = $4; }
  ;
 
 CF_ADDTO(dynamic_attr, BGP_PATH