diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2009-05-17 12:25:16 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2009-05-17 12:25:16 +0000 |
commit | d0639da8e997204d85f43940c8f7fd5363f5353b (patch) | |
tree | d1034cbc5d45af05eb70883725729e0babb01437 /usr.sbin/bgpd/bgpd.h | |
parent | a0ffb8889701c4cf39c676b95379748401b916b9 (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.h | 9 |
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); |