1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

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.
This commit is contained in:
Martin Mares
1999-03-04 18:36:18 +00:00
parent 2253c9e239
commit e16155ae4a
6 changed files with 178 additions and 18 deletions

View File

@@ -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)