summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.h
diff options
context:
space:
mode:
authorPeter Hessler <phessler@cvs.openbsd.org>2015-11-06 16:23:27 +0000
committerPeter Hessler <phessler@cvs.openbsd.org>2015-11-06 16:23:27 +0000
commita2d73a6e03320647a8a072bc4d56eba608ca1423 (patch)
treee6c0b11ba21b300ed7f5da775338e5fe8f6c1929 /usr.sbin/bgpd/rde.h
parent1b8f98a388d899c899bae4b80b6d158a3f3acd1f (diff)
Radically improve the performance of bgpd filters. Based on PF's skip
steps (and uses much of the same code). In a torture test of ~600k prefix filters and 65k prefixes, convergance time goes from 35 minutes to 30 seconds. Many thanks to LONAP for providing a base configuration for torture testing. many discussions with claudio@, benno@, sthen@ and the rest of the bgpd crowd OK sthen@ benno@
Diffstat (limited to 'usr.sbin/bgpd/rde.h')
-rw-r--r--usr.sbin/bgpd/rde.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde.h b/usr.sbin/bgpd/rde.h
index 02b755d0888..1ff890a1a0c 100644
--- a/usr.sbin/bgpd/rde.h
+++ b/usr.sbin/bgpd/rde.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.h,v 1.148 2015/03/14 03:52:42 claudio Exp $ */
+/* $OpenBSD: rde.h,v 1.149 2015/11/06 16:23:26 phessler Exp $ */
/*
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> and
@@ -387,6 +387,7 @@ void rde_apply_set(struct rde_aspath *, struct filter_set_head *,
u_int8_t, struct rde_peer *, struct rde_peer *);
int rde_filter_equal(struct filter_head *, struct filter_head *,
struct rde_peer *);
+void rde_filter_calc_skip_steps(struct filter_head *);
/* rde_prefix.c */
#define pt_empty(pt) ((pt)->refcnt == 0)