summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2005-11-02 13:21:07 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2005-11-02 13:21:07 +0000
commit7741ae8aa5fe25ad538048ef77bf9e9d5c38cc7a (patch)
treefe241b84653096405308e96787360f58cf685a0e /usr.sbin/bgpd/rde.c
parent0517d8827de185c45da6197b603e72a2435f73ac (diff)
Use the new rde_filter_equal() with dir = DIR_OUT to check if a soft-
reconfigure out run is needed or not. If the output filters did not change no table walk is needed.
Diffstat (limited to 'usr.sbin/bgpd/rde.c')
-rw-r--r--usr.sbin/bgpd/rde.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/rde.c b/usr.sbin/bgpd/rde.c
index 14eda22d516..82e118fbddf 100644
--- a/usr.sbin/bgpd/rde.c
+++ b/usr.sbin/bgpd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.177 2005/11/01 15:21:54 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.178 2005/11/02 13:21:06 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -522,7 +522,8 @@ rde_dispatch_imsg_parent(struct imsgbuf *ibuf)
parent_set = NULL;
prefix_network_clean(&peerself, reloadtime);
- pt_dump(rde_softreconfig_out, NULL, AF_UNSPEC);
+ if (!rde_filter_equal(rules_l, newrules, DIR_OUT))
+ pt_dump(rde_softreconfig_out, NULL, AF_UNSPEC);
while ((r = TAILQ_FIRST(rules_l)) != NULL) {
TAILQ_REMOVE(rules_l, r, entry);
filterset_free(&r->set);