summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2009-05-17 12:25:16 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2009-05-17 12:25:16 +0000
commitd0639da8e997204d85f43940c8f7fd5363f5353b (patch)
treed1034cbc5d45af05eb70883725729e0babb01437 /usr.sbin/bgpd/bgpd.h
parenta0ffb8889701c4cf39c676b95379748401b916b9 (diff)
Rework most of the RDE to allow multiple RIBs. This is mostly preparation
work by changing the way the RDE DB is built. struct prefix and struct pt_entry are simplified and extended with a rib_entry where the decision tree is run on. From now on a prefix can only reside on one particular RIB which simplifies the code a bit. Currently there are two fixed ribs (adj-rib-in and the local-rib) which needs to be made more dynamic in upcomming commits. This is work in progress, the RDE seems to work for me and sthen@ (no flames comming out of our testrouters but there is still a lot missing) Move into the tree to simplify developement -- henning@
Diffstat (limited to 'usr.sbin/bgpd/bgpd.h')
-rw-r--r--usr.sbin/bgpd/bgpd.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/bgpd.h b/usr.sbin/bgpd/bgpd.h
index 708ec8472e4..89613af46cf 100644
--- a/usr.sbin/bgpd/bgpd.h
+++ b/usr.sbin/bgpd/bgpd.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bgpd.h,v 1.230 2009/05/05 20:12:04 sthen Exp $ */
+/* $OpenBSD: bgpd.h,v 1.231 2009/05/17 12:25:15 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -521,7 +521,7 @@ struct ctl_show_rib {
u_int32_t med;
u_int32_t prefix_cnt;
u_int32_t active_cnt;
- u_int32_t adjrib_cnt;
+ u_int32_t rib_cnt;
u_int16_t aspath_len;
u_int16_t flags;
u_int8_t prefixlen;
@@ -708,6 +708,7 @@ struct rrefresh {
struct rde_memstats {
int64_t path_cnt;
int64_t prefix_cnt;
+ int64_t rib_cnt;
int64_t pt4_cnt;
int64_t pt6_cnt;
int64_t nexthop_cnt;
@@ -820,6 +821,10 @@ int pftable_addr_remove(struct pftable_msg *);
int pftable_commit(void);
/* name2id.c */
+u_int16_t rib_name2id(const char *);
+const char *rib_id2name(u_int16_t);
+void rib_unref(u_int16_t);
+void rib_ref(u_int16_t);
u_int16_t rtlabel_name2id(const char *);
const char *rtlabel_id2name(u_int16_t);
void rtlabel_unref(u_int16_t);