summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/bgpd.h
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2003-12-25 23:15:59 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2003-12-25 23:15:59 +0000
commit7d4b29a828843a81decb9f02dff1ef5911fb9b6a (patch)
tree978253a0d43692e7726303b34c8e0d7682b4f877 /usr.sbin/bgpd/bgpd.h
parent2f057c4e34402c5f3149e293ae8cc248be72f686 (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.h11
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__ */