diff options
Diffstat (limited to 'zebra/kernel_null.c')
-rw-r--r-- | zebra/kernel_null.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/zebra/kernel_null.c b/zebra/kernel_null.c index a84f4371..94b7b3c7 100644 --- a/zebra/kernel_null.c +++ b/zebra/kernel_null.c @@ -1,10 +1,12 @@ /* NULL kernel methods for testing. */ #include <zebra.h> +#include <log.h> #include "zebra/zserv.h" #include "zebra/rt.h" #include "zebra/redistribute.h" +#include "zebra/connected.h" int kernel_add_ipv4 (struct prefix *a, struct rib *b) { return 0; } #pragma weak kernel_delete_ipv4 = kernel_add_ipv4 @@ -18,8 +20,21 @@ int kernel_add_route (struct prefix_ipv4 *a, struct in_addr *b, int c, int d) { return 0; } int kernel_address_add_ipv4 (struct interface *a, struct connected *b) -{ return 0; } -#pragma weak kernel_address_delete_ipv4 = kernel_address_add_ipv4 +{ + zlog_debug ("%s", __func__); + connected_add_ipv4 (a, 0, &b->address->u.prefix4, b->address->prefixlen, + (b->destination ? &b->destination->u.prefix4 : NULL), + NULL); + return 0; +} + +int kernel_address_delete_ipv4 (struct interface *a, struct connected *b) +{ + zlog_debug ("%s", __func__); + connected_delete_ipv4 (a, 0, &b->address->u.prefix4, b->address->prefixlen, + (b->destination ? &b->destination->u.prefix4 : NULL)); + return 0; +} void kernel_init (void) { return; } #pragma weak route_read = kernel_init |