From 126683feeda03ffb5a4ce23611e59a4598382d49 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Mon, 29 Mar 2010 19:29:03 +0200 Subject: Filter language updates; new route attributes and datatype. - Adds bgp_originator_id and bgp_cluster_list route attributes. - Adds dotted quad filter datatype (for router IDs, used by bgp_originator_id and ospf_router_id route attributes). - Fixes pair ~ pair set matching. - Documentation updates. --- doc/bird.sgml | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/bird.sgml b/doc/bird.sgml index 6ad0690..43f0c9c 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -671,6 +671,11 @@ incompatible with each other (that is to prevent you from shooting in the foot). 65535. Literals of this type are written as 1.2.0.0/16.pxlen = 16 is true. - set int look like + but you can't modify them. Literals of type int set look like [ 1, 2, 5..7 ]. As you can see, both simple values and ranges are permitted in sets. @@ -756,15 +761,16 @@ incompatible with each other (that is to prevent you from shooting in the foot). and integer variables, for example [= * 4 (1+2) a =]. There is also old syntax that uses / .. / instead of [= .. =] and ? instead of *. - add( adds pair add( adds pair (or quad) delete( deletes pair delete( deletes pair (or quad) can be shortened to if Control structures @@ -818,6 +824,8 @@ if 1234 = i then printn "."; else { attributes just like it accesses variables. Attempts to access undefined attribute result in a runtime error; you can check if an attribute is defined by using the defined( attribute ) operator. +One notable exception to this rule are attributes of clist type, where +undefined value is regarded as empty clist for most purposes. @@ -1176,6 +1184,14 @@ with `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. + + clist This attribute contains a list + of cluster IDs of route reflectors. Each route reflector prepends its + cluster ID when reflecting the route. Example @@ -1595,13 +1611,16 @@ External routes use Example -- cgit v1.2.3