]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Skeleton of device route protocol. As it's tightly coupled with our kernel,
authorMartin Mares <mj@ucw.cz>
Wed, 3 Jun 1998 08:42:16 +0000 (08:42 +0000)
committerMartin Mares <mj@ucw.cz>
Wed, 3 Jun 1998 08:42:16 +0000 (08:42 +0000)
it sits here instead of `proto/dev'.

nest/Makefile
nest/rt-dev.c [new file with mode: 0644]

index aaa0c2a0e937b2701d7549cb64c7e2ea6d58e449..3990a89ccb261b135650319f621481da43740834 100644 (file)
@@ -1,4 +1,4 @@
 THISDIR=nest
-OBJS=rt-table.o rt-fib.o rt-attr.o proto.o iface.o
+OBJS=rt-table.o rt-fib.o rt-attr.o proto.o iface.o rt-dev.o
 
 include ../Rules
diff --git a/nest/rt-dev.c b/nest/rt-dev.c
new file mode 100644 (file)
index 0000000..90cac70
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ *     BIRD -- Direct Device Routes
+ *
+ *     (c) 1998 Martin Mares <mj@ucw.cz>
+ *
+ *     Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+#define LOCAL_DEBUG
+
+#include "nest/bird.h"
+#include "nest/iface.h"
+#include "nest/protocol.h"
+#include "nest/route.h"
+#include "lib/resource.h"
+
+static struct proto *dev_proto;
+
+static void
+dev_if_notify(struct proto *p, unsigned c, struct iface *old, struct iface *new)
+{
+  debug("IF notify %x\n", c);
+}
+
+static void
+dev_start(struct proto *p)
+{
+}
+
+static void
+dev_init(struct protocol *p)
+{
+}
+
+static void
+dev_preconfig(struct protocol *x)
+{
+  struct proto *p = proto_new(&proto_device, sizeof(struct proto));
+
+  dev_proto = p;
+  p->preference = DEF_PREF_DIRECT;
+  p->start = dev_start;
+  p->if_notify = dev_if_notify;
+}
+
+static void
+dev_postconfig(struct protocol *p)
+{
+}
+
+struct protocol proto_device = {
+  { NULL, NULL },
+  "Device",
+  0,
+  dev_init,
+  dev_preconfig,
+  dev_postconfig
+};