]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Skeleton structures and files added.
authorOndrej Filip <feela@network.cz>
Thu, 30 Mar 2000 20:00:42 +0000 (20:00 +0000)
committerOndrej Filip <feela@network.cz>
Thu, 30 Mar 2000 20:00:42 +0000 (20:00 +0000)
proto/ospf/lsack.c [new file with mode: 0644]
proto/ospf/lsack.h [new file with mode: 0644]
proto/ospf/lsreq.c
proto/ospf/lsupd.c [new file with mode: 0644]
proto/ospf/lsupd.h [new file with mode: 0644]
proto/ospf/ospf.h

diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c
new file mode 100644 (file)
index 0000000..5870809
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ *     BIRD -- OSPF
+ *
+ *     (c) 2000 Ondrej Filip <feela@network.cz>
+ *
+ *     Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+#include "ospf.h"
+
+void
+ospf_lsack_tx(struct ospf_neighbor *n)
+{
+  /* FIXME Go on! */
+}
+
+void
+ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
+  struct ospf_iface *ifa, u16 size)
+{
+  u32 nrid, myrid;
+  struct ospf_neighbor *n;
+  struct ospf_lsreq_header *lsh;
+  int length;
+  u8 i;
+
+  nrid=ntohl(ps->ospf_packet.routerid);
+
+  myrid=p->cf->global->router_id;
+
+  if((n=find_neigh(ifa, nrid))==NULL)
+  {
+    debug("%s: Received lsack from unknown neigbor! (%u)\n", p->name,
+      nrid);
+    return ;
+  }
+  /* FIXME Go on! */
+}
+
diff --git a/proto/ospf/lsack.h b/proto/ospf/lsack.h
new file mode 100644 (file)
index 0000000..ed0ea21
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ *      BIRD -- OSPF
+ *
+ *      (c) 2000 Ondrej Filip <feela@network.cz>
+ *
+ *      Can be freely distributed and used under the terms of the GNU GPL.
+ *
+ */
+
+#ifndef _BIRD_OSPF_LSACK_H_
+#define _BIRD_OSPF_LSACK_H_
+
+void ospf_lsack_tx(struct ospf_neighbor *n);
+void ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
+  struct ospf_iface *ifa, u16 size);
+
+#endif /* _BIRD_OSPF_LSACK_H_ */
index 5aa59f59c3791d93a0d86e9b685526a2e289020f..91bc9884f5ed467dddb08ddf1af0be092f8477b2 100644 (file)
@@ -86,7 +86,7 @@ ospf_lsreq_rx(struct ospf_lsreq_packet *ps, struct proto *p,
 
   if((n=find_neigh(ifa, nrid))==NULL)
   {
-    debug("%s: Received dbdes from unknown neigbor! (%u)\n", p->name,
+    debug("%s: Received lsreq from unknown neigbor! (%u)\n", p->name,
       nrid);
     return ;
   }
@@ -99,8 +99,12 @@ ospf_lsreq_rx(struct ospf_lsreq_packet *ps, struct proto *p,
   {
     DBG("Processing LSA: ID=%u, Type=%u, Router=%u\n", lsh->id, lsh->type,
       lsh->rt);
+    if(ospf_hash_find(n->ifa->oa->gr, lsh->id, lsh->rt, lsh->type)==NULL)
+    {
+      ospf_neigh_sm(n,INM_BADLSREQ);
+      return;
+    }
     /* FIXME Go on */
   }
-
 }
 
diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c
new file mode 100644 (file)
index 0000000..5f53311
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ *     BIRD -- OSPF
+ *
+ *     (c) 2000 Ondrej Filip <feela@network.cz>
+ *
+ *     Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+#include "ospf.h"
+
+void
+ospf_lsupd_tx(struct ospf_neighbor *n)
+{
+  /* FIXME Go on! */
+}
+
+void
+ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
+  struct ospf_iface *ifa, u16 size)
+{
+  u32 nrid, myrid;
+  struct ospf_neighbor *n;
+  struct ospf_lsreq_header *lsh;
+  int length;
+  u8 i;
+
+  nrid=ntohl(ps->ospf_packet.routerid);
+
+  myrid=p->cf->global->router_id;
+
+  if((n=find_neigh(ifa, nrid))==NULL)
+  {
+    debug("%s: Received lsupd from unknown neigbor! (%u)\n", p->name,
+      nrid);
+    return ;
+  }
+  /* FIXME Go on! */
+}
+
diff --git a/proto/ospf/lsupd.h b/proto/ospf/lsupd.h
new file mode 100644 (file)
index 0000000..1aee1dc
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ *      BIRD -- OSPF
+ *
+ *      (c) 2000 Ondrej Filip <feela@network.cz>
+ *
+ *      Can be freely distributed and used under the terms of the GNU GPL.
+ *
+ */
+
+#ifndef _BIRD_OSPF_LSUPD_H_
+#define _BIRD_OSPF_LSUPD_H_
+
+void ospf_lsupd_tx(struct ospf_neighbor *n);
+void ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
+  struct ospf_iface *ifa, u16 size);
+
+#endif /* _BIRD_OSPF_LSUPD_H_ */
index 283ccc9aff7f25dbe0f40bb84e8c978c98703e68..bc37fc48f398483524b0398c6b5276a1478c4baf 100644 (file)
@@ -246,6 +246,16 @@ struct ospf_lsreq_header {
   u32 rt;              /* Advertising router */
 };
 
+struct ospf_lsupd_packet {
+  struct ospf_packet ospf_packet;
+  u32 lsano;           /* Number of LSA's */
+};
+
+struct ospf_lsack_packet {
+  struct ospf_packet ospf_packet;
+};
+
+
 struct ospf_neighbor
 {
   node n;