diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-03-13 12:49:44 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-03-13 12:49:44 +0100 |
commit | e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5 (patch) | |
tree | 64f1e9d86256b1603e8713b973cf8e666aaf2f80 /proto/bgp/config.Y | |
parent | e3299ab14877de6ce688050e550c44cd4e85b212 (diff) | |
download | bird-e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5.tar bird-e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5.zip |
Update capability handshake options
Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.
Diffstat (limited to 'proto/bgp/config.Y')
-rw-r--r-- | proto/bgp/config.Y | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/proto/bgp/config.Y b/proto/bgp/config.Y index 4b64ed5..c5ea87d 100644 --- a/proto/bgp/config.Y +++ b/proto/bgp/config.Y @@ -21,7 +21,8 @@ CF_KEYWORDS(BGP, LOCAL, NEIGHBOR, AS, HOLD, TIME, CONNECT, RETRY, KEEPALIVE, ERROR, START, DELAY, FORGET, WAIT, ENABLE, DISABLE, AFTER, BGP_PATH, BGP_LOCAL_PREF, BGP_MED, BGP_ORIGIN, BGP_NEXT_HOP, BGP_ATOMIC_AGGR, BGP_AGGREGATOR, BGP_COMMUNITY, SOURCE, ADDRESS, - PASSWORD, RR, RS, CLIENT, CLUSTER, ID, AS4, ADVERTISE, IPV4) + PASSWORD, RR, RS, CLIENT, CLUSTER, ID, AS4, ADVERTISE, IPV4, + CAPABILITIES) CF_GRAMMAR @@ -40,6 +41,8 @@ bgp_proto_start: proto_start BGP { BGP_CFG->error_delay_time_min = 60; BGP_CFG->error_delay_time_max = 300; BGP_CFG->enable_as4 = bgp_as4_support; + BGP_CFG->capabilities = 2; + BGP_CFG->advertise_ipv4 = 1; } ; @@ -71,7 +74,8 @@ bgp_proto: | bgp_proto ERROR WAIT TIME expr ',' expr ';' { BGP_CFG->error_delay_time_min = $5; BGP_CFG->error_delay_time_max = $7; } | bgp_proto DISABLE AFTER ERROR bool ';' { BGP_CFG->disable_after_error = $5; } | bgp_proto ENABLE AS4 bool ';' { BGP_CFG->enable_as4 = $4; } - | bgp_proto ADVERTISE IPV4 ';' { BGP_CFG->advertise_ipv4 = 1; } + | bgp_proto CAPABILITIES bool ';' { BGP_CFG->capabilities = $3; } + | bgp_proto ADVERTISE IPV4 bool ';' { BGP_CFG->advertise_ipv4 = $4; } | bgp_proto PASSWORD TEXT ';' { BGP_CFG->password = $3; } ; |