summaryrefslogtreecommitdiffstats
path: root/sysdep/unix/krt-set.c
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-set.c
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-set.c')
-rw-r--r--sysdep/unix/krt-set.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdep/unix/krt-set.c b/sysdep/unix/krt-set.c
index dae01f4..2165255 100644
--- a/sysdep/unix/krt-set.c
+++ b/sysdep/unix/krt-set.c
@@ -43,7 +43,7 @@ krt_capable_op(rte *e)
rta *a = e->attrs;
#ifdef CONFIG_AUTO_ROUTES
- if (a->dest == RTD_ROUTER && a->source == RTS_DEVICE)
+ if (a->source == RTS_DEVICE)
return 0;
#endif
return krt_capable(e);
@@ -115,6 +115,7 @@ krt_add_route(rte *new)
void
krt_set_notify(struct proto *x, net *net, rte *new, rte *old)
{
+ /* FIXME: Fold remove/add route here */
if (old)
krt_remove_route(old);
if (new)