]> git.puffer.fish Git - mirror/frr.git/commitdiff
[testzebra] stubs should call kernel_address_add on IP address install
authorPaul Jakma <paul.jakma@sun.com>
Tue, 10 Apr 2007 19:28:04 +0000 (19:28 +0000)
committerPaul Jakma <paul.jakma@sun.com>
Tue, 10 Apr 2007 19:28:04 +0000 (19:28 +0000)
2007-04-08 Paul Jakma <paul.jakma@sun.com>

* {ioctl,kernel}_null.c: Install of IP address should
  reflect back to zebra via kernel_address_add..., makes
  testzebra more useful.

zebra/ChangeLog
zebra/ioctl_null.c
zebra/kernel_null.c

index 602de50dbade429afe593ddd8d8efc38b5cd432b..3cd30bd5cd1fda6a7450e1d33194b649af290026 100644 (file)
@@ -1,3 +1,9 @@
+2007-04-08 Paul Jakma <paul.jakma@sun.com>
+
+       * {ioctl,kernel}_null.c: Install of IP address should
+         reflect back to zebra via kernel_address_add..., makes
+         testzebra more useful.
+
 2007-04-07 Paul Jakma <paul.jakma@sun.com>
 
        * redistribute.c: (zebra_check_addr) Don't redistribute routes
index d1f3db081955ebfc312ecd2d072ac920d7c00356..6d8e13a061d63992774396a58987f5eea1181feb 100644 (file)
@@ -6,10 +6,20 @@
 
 void ifreq_set_name (struct ifreq *a, struct interface *b) { return; }
 
-int if_set_prefix (struct interface *a, struct connected *b) { return 0; }
-#pragma weak if_unset_prefix = if_set_prefix
-#pragma weak if_prefix_add_ipv6 = if_set_prefix
-#pragma weak if_prefix_delete_ipv6 = if_set_prefix
+int if_set_prefix (struct interface *a, struct connected *b)
+{ 
+  kernel_address_add_ipv4 (a, b);
+  return 0;
+}
+
+int if_unset_prefix (struct interface *a, struct connected *b)
+{ 
+  kernel_address_delete_ipv4 (a, b);
+  return 0;
+}
+
+int if_prefix_add_ipv6 (struct interface *a, struct connected *b) { return 0; }
+#pragma weak if_prefix_delete_ipv6 = if_prefix_add_ipv6
 
 int if_ioctl (u_long a, caddr_t b) { return 0; }
 
index a84f43716322e499801a1a8bc02b4d488d52a586..94b7b3c74e856d5c073261ce93c6fddffb92581c 100644 (file)
@@ -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