summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2012-04-07 17:25:52 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2012-04-07 17:25:52 +0000
commit2b8198688d453d2fa9ca5bbbbfd2e2bc4a31446e (patch)
tree044a7bb8928ac392efd9b4487f48df2f170c3198
parente1d3eacc1dbb1e6b6f7884516db9a220fc9a4f79 (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.514
-rw-r--r--usr.sbin/bgpd/rde.c5
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);
}