summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2004-05-21 12:10:23 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2004-05-21 12:10:23 +0000
commit7ab3008b01a67c9f78cd18812453911c9fd48581 (patch)
tree52803cdda21673bb8618d5c0cd04ed1cbaa37bf6 /usr.sbin/bgpd
parent9ef59ce011f6087cb79d1674bb32b30f07ee055c (diff)
Grrr. Forgot to cleanup dynamic announcements on shutdown.
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r--usr.sbin/bgpd/rde.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde.c b/usr.sbin/bgpd/rde.c
index caba905a651..def3f552e00 100644
--- a/usr.sbin/bgpd/rde.c
+++ b/usr.sbin/bgpd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.113 2004/05/21 11:48:56 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.114 2004/05/21 12:10:22 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -1282,6 +1282,13 @@ rde_shutdown(void)
path_remove(asp);
}
+ peerdynamic.remote_bgpid = 0;
+ peerdynamic.state = PEER_DOWN;
+ for (asp = LIST_FIRST(&peerdynamic.path_h); asp != NULL; asp = nasp) {
+ nasp = LIST_NEXT(asp, peer_l);
+ path_remove(asp);
+ }
+
/* free filters */
while ((r = TAILQ_FIRST(rules_l)) != NULL) {
TAILQ_REMOVE(rules_l, r, entries);