From e8ba557c7f66aaf02dd24f554fba8b3607c2b3d5 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Fri, 13 Mar 2009 12:49:44 +0100 Subject: Update capability handshake options Add 'capabilities' option, change default behavior to advertise ipv4, add some checks and ignore incoming capabilities when capabilities are disabled. --- proto/bgp/config.Y | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'proto/bgp/config.Y') 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; } ; -- cgit v1.2.3