standardize a community that has been independently created by nearly
authorphessler <phessler@openbsd.org>
Sun, 11 Oct 2015 19:30:12 +0000 (19:30 +0000)
committerphessler <phessler@openbsd.org>
Sun, 11 Oct 2015 19:30:12 +0000 (19:30 +0000)
every single AS on the planet: the blackhole

OK benno@, claudio@, sthen@

usr.sbin/bgpd/bgpd.conf.5
usr.sbin/bgpd/bgpd.h
usr.sbin/bgpd/parse.y

index 50ea419..352c2de 100644 (file)
@@ -1,4 +1,4 @@
-.\" $OpenBSD: bgpd.conf.5,v 1.138 2015/09/21 10:06:47 jmc Exp $
+.\" $OpenBSD: bgpd.conf.5,v 1.139 2015/10/11 19:30:12 phessler 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 21 2015 $
+.Dd $Mdocdate: October 11 2015 $
 .Dt BGPD.CONF 5
 .Os
 .Sh NAME
@@ -1097,6 +1097,7 @@ may be set to
 to do wildcard matching.
 Alternatively, well-known communities may be given by name instead and
 include
+.Ic BLACKHOLE ,
 .Ic NO_EXPORT ,
 .Ic NO_ADVERTISE ,
 .Ic NO_EXPORT_SUBCONFED ,
index 297d1f9..8a18735 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: bgpd.h,v 1.290 2015/09/21 09:47:15 phessler Exp $ */
+/*     $OpenBSD: bgpd.h,v 1.291 2015/10/11 19:30:12 phessler Exp $ */
 
 /*
  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -718,6 +718,7 @@ struct filter_peers {
 #define        COMMUNITY_NEIGHBOR_AS           -3
 #define        COMMUNITY_UNSET                 -4
 #define        COMMUNITY_WELLKNOWN             0xffff
+#define        COMMUNITY_BLACKHOLE             0x029A  /* draft-ymbk-grow-blackholing-01 */
 #define        COMMUNITY_NO_EXPORT             0xff01
 #define        COMMUNITY_NO_ADVERTISE          0xff02
 #define        COMMUNITY_NO_EXPSUBCONFED       0xff03
index 14aff94..8b0d503 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.283 2015/09/21 09:47:15 phessler Exp $ */
+/*     $OpenBSD: parse.y,v 1.284 2015/10/11 19:30:12 phessler Exp $ */
 
 /*
  * Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -2800,6 +2800,10 @@ parsecommunity(struct filter_community *c, char *s)
                c->as = COMMUNITY_WELLKNOWN;
                c->type = COMMUNITY_NO_PEER;
                return (0);
+       } else if (strcasecmp(s, "BLACKHOLE") == 0) {
+               c->as = COMMUNITY_WELLKNOWN;
+               c->type = COMMUNITY_BLACKHOLE;
+               return (0);
        }
 
        if ((p = strchr(s, ':')) == NULL) {