From 8815d846bf77e4231f36b64d8e4ac9a3ec2d1504 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Sun, 14 Aug 2011 15:53:47 +0200 Subject: [PATCH] BGP Extended communities documentation. --- doc/bird.sgml | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/doc/bird.sgml b/doc/bird.sgml index a00dbb74..406adc69 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -746,27 +746,48 @@ incompatible with each other (that is to prevent you from shooting in the foot). 1.2.0.0/16.pxlen = 16 is true. - (, where int set look like [ 1, 2, 5..7 ]. As you can see, both simple values and ranges are permitted in sets. + For pair sets, expressions like define one=1; + define myas=64500; int set odds; pair set ps; + ec set es; - odds = [ one, (2+1), (6-one), (2*2*2-1), 9, 11 ]; + odds = [ one, 2+1, 6-one, 2*2*2-1, 9, 11 ]; ps = [ (1,one+one), (3,4)..(4,8), (5,*), (6,3..6), (7..9,*) ]; + es = [ (rt, myas, 3*10), (rt, myas+one, 0..16*16*16-1), (ro, myas+2, *) ]; Sets of prefixes are special: their literals does not allow ranges, but allows @@ -835,7 +856,7 @@ incompatible with each other (that is to prevent you from shooting in the foot). Clist is similar to a set, except that unlike other sets, it can be modified. The type is used for community list (a set of pairs) and for cluster list (a set of quads). There exist - no literals of this type. There are two special operators on + no literals of this type. There are three special operators on clists: add( adds pair (or quad) if Operators @@ -1013,12 +1042,16 @@ capability negotiation (RFC 3392), MD5 password authentication (RFC 2385), +extended communities +(RFC 4360), route reflectors (RFC 4456), multiprotocol extensions (RFC 4760), -and 4B AS numbers -(RFC 4893). +4B AS numbers +(RFC 4893), +and 4B AS numbers in extended communities +(RFC 5668). For IPv6, it uses the standard multiprotocol extensions defined in @@ -1331,6 +1364,12 @@ with `eclist List of extended community + values associated with the route. Extended communities have similar usage + as plain communities, but they have an extended range (to allow 4B ASNs) + and a nontrivial structure with a type field. Individual community values are + represented using an quad This attribute is created by the route reflector when reflecting the route and contains the router ID of the originator of the route in the local AS.