summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/session.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2009-07-24 13:09:30 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2009-07-24 13:09:30 +0000
commit515375212b6f9aa5b770d99c9fb15e583c1e15f2 (patch)
tree923ad13a8ab781126680f15eb0c18bec346f6acf /usr.sbin/bgpd/session.c
parent5d8d14bdc149799468ac504e1bfa038a1564bd72 (diff)
RECONF_REINIT is a bad initial reconf_action state for templates.
getpeerbyip() initializes the full peer and so there is no need to do the work a second time -- especially since there it was already in the wrong state resulting in strange behaviour. OK henning@
Diffstat (limited to 'usr.sbin/bgpd/session.c')
-rw-r--r--usr.sbin/bgpd/session.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/session.c b/usr.sbin/bgpd/session.c
index 4f7f787272c..29dc559a36b 100644
--- a/usr.sbin/bgpd/session.c
+++ b/usr.sbin/bgpd/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.293 2009/06/07 05:56:24 eric Exp $ */
+/* $OpenBSD: session.c,v 1.294 2009/07/24 13:09:29 claudio Exp $ */
/*
* Copyright (c) 2003, 2004, 2005 Henning Brauer <henning@openbsd.org>
@@ -2667,7 +2667,7 @@ getpeerbyip(struct sockaddr *ip)
newpeer->conf.template = 0;
newpeer->conf.cloned = 1;
newpeer->state = newpeer->prev_state = STATE_NONE;
- newpeer->conf.reconf_action = RECONF_REINIT;
+ newpeer->conf.reconf_action = RECONF_KEEP;
newpeer->rbuf = NULL;
init_peer(newpeer);
bgp_fsm(newpeer, EVNT_START);