summaryrefslogtreecommitdiffstats
path: root/zebra/ioctl_null.c
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-07-27 21:59:58 +0200
committerPaul Jakma <paul.jakma@sun.com>2006-07-27 21:59:58 +0200
commit457eb9af72e6e7aa85c26b65ba4d053f9ecbffac (patch)
treeca93002285032e0c845749cfd770a446a9fc702b /zebra/ioctl_null.c
parent[bgpd] Potential bug#287 fix, peer_delete should NULL out freed buffers (diff)
downloadfrr-457eb9af72e6e7aa85c26b65ba4d053f9ecbffac.tar.xz
frr-457eb9af72e6e7aa85c26b65ba4d053f9ecbffac.zip
[zebra] Add test rig code, for testing the zebra RIB
2006-07-27 Paul Jakma <paul.jakma@sun.com> * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations, useful for testing zebra code that calls such methods. * {redistribute,misc}_null.c: Dummy/Null methods, as above. But for zclient, and for various misc functions. * test_main.c: Test harness for zebra, currently just to test the RIB. * Makefile.am: Build testzebra using above. * zebra_rib.c: Add a global for the workqueue hold time, useful for testing.
Diffstat (limited to 'zebra/ioctl_null.c')
-rw-r--r--zebra/ioctl_null.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/zebra/ioctl_null.c b/zebra/ioctl_null.c
new file mode 100644
index 000000000..d1f3db081
--- /dev/null
+++ b/zebra/ioctl_null.c
@@ -0,0 +1,34 @@
+#include <zebra.h>
+
+#include "zebra/rib.h"
+#include "zebra/rt.h"
+#include "zebra/ioctl.h"
+
+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_ioctl (u_long a, caddr_t b) { return 0; }
+
+int if_set_flags (struct interface *a, uint64_t b) { return 0; }
+#pragma weak if_unset_flags = if_set_flags
+
+void if_get_flags (struct interface *a) { return; }
+#pragma weak if_get_metric = if_get_flags
+#pragma weak if_get_mtu = if_get_flags
+
+#ifdef SOLARIS_IPV6
+#pragma weak if_ioctl_ipv6 = if_ioctl
+struct connected *if_lookup_linklocal(struct interface *a) { return 0; }
+
+#define AF_IOCTL(af, request, buffer) \
+ ((af) == AF_INET? if_ioctl(request, buffer) : \
+ if_ioctl_ipv6(request, buffer))
+#else /* SOLARIS_IPV6 */
+
+#define AF_IOCTL(af, request, buffer) if_ioctl(request, buffer)
+
+#endif /* SOLARIS_IPV6 */