summaryrefslogtreecommitdiff
path: root/bgpd/bgpd.c
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2007-08-31 14:27:37 +0100
committerPaul Jakma <paul@quagga.net>2008-08-22 19:52:12 +0100
commitd664ae1182c29b74b409bc8594b7bd0575e91ce9 (patch)
treedd7c7edf880483e1deade4e0c26e3844cd78a79e /bgpd/bgpd.c
parente30db001530a39b827cc4f073033e35d9ca22662 (diff)
[bgpd] Add 'bgp open-accept' option, to send OPEN immediately on accepted conns
2007-08-31 Paul Jakma <paul.jakma@sun.com> * (general) Add 'bgp open-accept' option, to allow bgpd to send OPEN on accepted connections, i.e. to not wait till after collision-detect to send OPEN, which appears to be allowed in RFC4271. This may help speed up establishing sessions, or help avoid FSM problems with sessions to certain peers. Not enabled by default though.
Diffstat (limited to 'bgpd/bgpd.c')
-rw-r--r--bgpd/bgpd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 8eb0d2e4..bda35ae5 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -81,6 +81,7 @@ bgp_option_set (int flag)
case BGP_OPT_NO_FIB:
case BGP_OPT_MULTIPLE_INSTANCE:
case BGP_OPT_CONFIG_CISCO:
+ case BGP_OPT_ALWAYS_OPEN:
SET_FLAG (bm->options, flag);
break;
default:
@@ -100,6 +101,7 @@ bgp_option_unset (int flag)
/* Fall through. */
case BGP_OPT_NO_FIB:
case BGP_OPT_CONFIG_CISCO:
+ case BGP_OPT_ALWAYS_OPEN:
UNSET_FLAG (bm->options, flag);
break;
default:
@@ -4910,6 +4912,13 @@ bgp_config_write (struct vty *vty)
write++;
}
+ /* BGP Open-Always */
+ if (bgp_option_check (BGP_OPT_ALWAYS_OPEN))
+ {
+ vty_out (vty, "bgp open-accept%s", VTY_NEWLINE);
+ write++;
+ }
+
/* BGP configuration. */
for (ALL_LIST_ELEMENTS (bm->bgp, mnode, mnnode, bgp))
{