diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2012-04-07 17:25:52 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2012-04-07 17:25:52 +0000 |
commit | 2b8198688d453d2fa9ca5bbbbfd2e2bc4a31446e (patch) | |
tree | 044a7bb8928ac392efd9b4487f48df2f170c3198 | |
parent | e1d3eacc1dbb1e6b6f7884516db9a220fc9a4f79 (diff) |
The Route Distinguishers should not be used to control distribution.
Found by and fix tested by Rimi Philippe
-rw-r--r-- | usr.sbin/bgpd/bgpd.conf.5 | 14 | ||||
-rw-r--r-- | usr.sbin/bgpd/rde.c | 5 |
2 files changed, 8 insertions, 11 deletions
diff --git a/usr.sbin/bgpd/bgpd.conf.5 b/usr.sbin/bgpd/bgpd.conf.5 index c3454ccd18c..a28515c04fa 100644 --- a/usr.sbin/bgpd/bgpd.conf.5 +++ b/usr.sbin/bgpd/bgpd.conf.5 @@ -1,4 +1,4 @@ -.\" $OpenBSD: bgpd.conf.5,v 1.116 2011/09/17 16:29:44 claudio Exp $ +.\" $OpenBSD: bgpd.conf.5,v 1.117 2012/04/07 17:25:51 claudio Exp $ .\" .\" Copyright (c) 2004 Claudio Jeker <claudio@openbsd.org> .\" Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -16,7 +16,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: September 17 2011 $ +.Dd $Mdocdate: April 7 2012 $ .Dt BGPD.CONF 5 .Os .Sh NAME @@ -494,13 +494,13 @@ for further information about the arguments. .Pp .It Ic rd Ar as-number Ns Li : Ns Ar local .It Ic rd Ar IP Ns Li : Ns Ar local -The Route Distinguishers uniquely identifies a set of VPN prefixes. -Only prefixes matching the +The sole purpose of the Route Distinguisher .Ic rd -will be imported into the routing domain. -The purpose of the +is to ensure that possible common prefixes are destinct between VPNs. +The .Ic rd -is solely to allow one to create distinct routes to a common address prefix. +is neither used to identify the origin of the prefix nor to control into +which VPNs the prefix is distributed to. The .Ar as-number or diff --git a/usr.sbin/bgpd/rde.c b/usr.sbin/bgpd/rde.c index fdc2122743f..d92e7339b2f 100644 --- a/usr.sbin/bgpd/rde.c +++ b/usr.sbin/bgpd/rde.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rde.c,v 1.312 2012/03/27 18:22:07 claudio Exp $ */ +/* $OpenBSD: rde.c,v 1.313 2012/04/07 17:25:51 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -2414,8 +2414,6 @@ rde_send_kroute(struct prefix *new, struct prefix *old, u_int16_t ribid) break; SIMPLEQ_FOREACH(rd, rdomains_l, entry) { - if (addr.vpn4.rd != rd->rd) - continue; if (!rde_rdomain_import(p->aspath, rd)) continue; /* must send exit_nexthop so that correct MPLS tunnel @@ -3250,7 +3248,6 @@ network_add(struct network_config *nc, int flagstatic) for (i = 1; i < rib_size; i++) path_update(&ribs[i], peerself, asp, &nc->prefix, nc->prefixlen); - path_put(asp); filterset_free(&nc->attrset); } |