diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2003-12-25 23:15:59 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2003-12-25 23:15:59 +0000 |
commit | 7d4b29a828843a81decb9f02dff1ef5911fb9b6a (patch) | |
tree | 978253a0d43692e7726303b34c8e0d7682b4f877 /usr.sbin/bgpd/bgpd.h | |
parent | 2f057c4e34402c5f3149e293ae8cc248be72f686 (diff) |
bring us closer to a complete nexthop verification that does NOT need
periodic scans:
-keep a tree of nexthops with valid/invalid flags
-provide kroute_match, which takes an IP address and gives the kernel route
for that
-find the kernel route for a given nexthop with that
-keep a marker on the kernel route that a nexthop depends on it
-on removal of the kernel route, re-evaluate the affected nexthops for
validity.
ok claudio@
Diffstat (limited to 'usr.sbin/bgpd/bgpd.h')
-rw-r--r-- | usr.sbin/bgpd/bgpd.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/bgpd.h b/usr.sbin/bgpd/bgpd.h index e5ec3141b9c..be7be7af8df 100644 --- a/usr.sbin/bgpd/bgpd.h +++ b/usr.sbin/bgpd/bgpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: bgpd.h,v 1.25 2003/12/25 17:07:24 henning Exp $ */ +/* $OpenBSD: bgpd.h,v 1.26 2003/12/25 23:15:58 henning Exp $ */ /* * Copyright (c) 2003 Henning Brauer <henning@openbsd.org> @@ -248,6 +248,13 @@ struct kroute { in_addr_t nexthop; }; +struct kroute_nexthop { + in_addr_t nexthop; + u_int8_t valid; + u_int8_t connected; + in_addr_t gateway; +}; + /* prototypes */ /* session.c */ int session_main(struct bgpd_config *, int[2], int[2]); @@ -303,5 +310,7 @@ int kroute_change(int, struct kroute *); int kroute_delete(int, struct kroute *); void kroute_shutdown(int); void kroute_dispatch_msg(int); +void kroute_validate_nexthop(in_addr_t, struct kroute_nexthop *); +void kroute_nexthop_check(in_addr_t); #endif /* __BGPD_H__ */ |