summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2005-02-09 10:56:29 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2005-02-09 10:56:29 +0000
commit8a3d1ab8b126bc7165704a0ce8a54ee6cd941264 (patch)
tree8f2028c04406f7888c5350207ba884436e174ea4 /usr.sbin/bgpd/bgpd.c
parent028d8f45b164b733c1cefb233d9a097c672725c2 (diff)
need to send IMSG_NETWORK_DONE after sending networks and associated filter
sets, otherwise local netyworks get withdrawn after config reload; misbehaviour noticed by peter.galbavy@knowtion.net, claudio ok
Diffstat (limited to 'usr.sbin/bgpd/bgpd.c')
-rw-r--r--usr.sbin/bgpd/bgpd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/bgpd.c b/usr.sbin/bgpd/bgpd.c
index a238c577183..d2877ef1aef 100644
--- a/usr.sbin/bgpd/bgpd.c
+++ b/usr.sbin/bgpd/bgpd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bgpd.c,v 1.112 2005/02/02 18:52:32 henning Exp $ */
+/* $OpenBSD: bgpd.c,v 1.113 2005/02/09 10:56:28 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -433,6 +433,9 @@ reconfigure(char *conffile, struct bgpd_config *conf, struct mrt_head *mrt_l,
return (-1);
if (send_filterset(ibuf_rde, &n->net.attrset, 0, 1) == -1)
return (-1);
+ if (imsg_compose(ibuf_rde, IMSG_NETWORK_DONE, 0, 0, -1,
+ NULL, 0) == -1)
+ return (-1);
TAILQ_REMOVE(&net_l, n, entry);
free(n);
}