summaryrefslogtreecommitdiffstats
path: root/sysdep/unix/krt.h
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-03-04 19:36:18 +0100
committerMartin Mares <mj@ucw.cz>1999-03-04 19:36:18 +0100
commite16155ae4aaee5d9ba7b6940f8312b36707718e4 (patch)
treede2bbd930af01a8620871688e8ba36ba9d0111be /sysdep/unix/krt.h
parent2253c9e239253d2094b4b1cabd97d296af885afb (diff)
downloadbird-e16155ae4aaee5d9ba7b6940f8312b36707718e4.tar
bird-e16155ae4aaee5d9ba7b6940f8312b36707718e4.zip
KRT: Implemented asynchronous route / interface state notifications
(via Netlink). Tweaked kernel synchronization rules a bit. Discovered locking bug in kernel Netlink :-) Future plans: Hunt all the bugs and solve all the FIXME's.
Diffstat (limited to 'sysdep/unix/krt.h')
-rw-r--r--sysdep/unix/krt.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdep/unix/krt.h b/sysdep/unix/krt.h
index 1c59799..02814c6 100644
--- a/sysdep/unix/krt.h
+++ b/sysdep/unix/krt.h
@@ -52,6 +52,13 @@ extern struct proto_config *cf_krt;
#define KRT_CF ((struct krt_config *)p->p.cf)
void krt_got_route(struct krt_proto *p, struct rte *e);
+void krt_got_route_async(struct krt_proto *p, struct rte *e, int new);
+
+/* Values for rte->u.krt_sync.src */
+#define KRT_SRC_UNKNOWN -1 /* Nobody knows */
+#define KRT_SRC_BIRD 0 /* Our route (not passed in async mode) */
+#define KRT_SRC_REDIRECT 1 /* Redirect route, delete it */
+#define KRT_SRC_ALIEN 2 /* Route installed by someone else */
/* krt-scan.c */