summaryrefslogtreecommitdiff
path: root/proto/ospf
diff options
context:
space:
mode:
Diffstat (limited to 'proto/ospf')
-rw-r--r--proto/ospf/Doc5
-rw-r--r--proto/ospf/iface.c21
-rw-r--r--proto/ospf/iface.h2
-rw-r--r--proto/ospf/lsack.c4
-rw-r--r--proto/ospf/ospf.c3
5 files changed, 28 insertions, 7 deletions
diff --git a/proto/ospf/Doc b/proto/ospf/Doc
index e69de29b..8b8906ff 100644
--- a/proto/ospf/Doc
+++ b/proto/ospf/Doc
@@ -0,0 +1,5 @@
+S ospf.c
+S topology.c
+S neighbor.c
+S iface.c
+S packet.c
diff --git a/proto/ospf/iface.c b/proto/ospf/iface.c
index 4d20507d..172a60ab 100644
--- a/proto/ospf/iface.c
+++ b/proto/ospf/iface.c
@@ -1,7 +1,7 @@
/*
* BIRD -- OSPF
*
- * (c) 1999 Ondrej Filip <feela@network.cz>
+ * (c) 1999 - 2000 Ondrej Filip <feela@network.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
@@ -16,6 +16,15 @@ char *ospf_ism[]={ "interface up", "wait timer fired", "backup seen",
char *ospf_it[]={ "broadcast", "nbma", "point-to-point", "virtual link" };
+/**
+ * iface_chstate - handle changes of interface state
+ * @ifa: OSPF interface
+ * @state: new state
+ *
+ * Many action must be taken acording to iterface state change. New networks
+ * LSA must be originated, flushed, new multicast socket to listen messages for
+ * %ALLDROUTERS has to be opened, etc.
+ */
void
iface_chstate(struct ospf_iface *ifa, u8 state)
{
@@ -117,6 +126,14 @@ downint(struct ospf_iface *ifa)
mb_free(ifa);
}
+/**
+ * ospf_int_sm - OSPF interface state machine
+ * @ifa: OSPF interface
+ * @event: event comming to state machine
+ *
+ * This fully respect 9.3 of RFC 2328 except we don't use %LOOP state of
+ * interface.
+ */
void
ospf_int_sm(struct ospf_iface *ifa, int event)
{
@@ -251,7 +268,6 @@ ospf_open_ip_socket(struct ospf_iface *ifa)
return(ipsk);
}
-/* Of course, it's NOT true now */
u8
ospf_iface_clasify(struct iface *ifa, struct proto *p)
{
@@ -458,3 +474,4 @@ ospf_ifa_add(struct object_lock *lock)
ifa->state=OSPF_IS_DOWN;
ospf_int_sm(ifa, ISM_UP);
}
+
diff --git a/proto/ospf/iface.h b/proto/ospf/iface.h
index 3070e19f..99a32bfe 100644
--- a/proto/ospf/iface.h
+++ b/proto/ospf/iface.h
@@ -1,7 +1,7 @@
/*
* BIRD -- OSPF
*
- * (c) 1999 Ondrej Filip <feela@network.cz>
+ * (c) 1999 - 2000 Ondrej Filip <feela@network.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*
diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c
index f04b4308..51183ddc 100644
--- a/proto/ospf/lsack.c
+++ b/proto/ospf/lsack.c
@@ -100,7 +100,7 @@ ospf_lsack_delay_tx(struct ospf_neighbor *n)
len=sizeof(struct ospf_lsack_packet)+i*sizeof(struct ospf_lsa_header);
op->length=htons(len);
ospf_pkt_finalize(n->ifa, op);
- DBG("Sending and continueing! Len=%u\n",len);
+ DBG("Sending and continuing! Len=%u\n",len);
if(ifa->type==OSPF_IT_BCAST)
{
if((ifa->state==OSPF_IS_DR)||(ifa->state==OSPF_IS_BACKUP))
@@ -151,8 +151,6 @@ ospf_lsack_delay_tx(struct ospf_neighbor *n)
}
}
-
-
void
ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
struct ospf_iface *ifa, u16 size)
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c
index af9e586d..9eec3092 100644
--- a/proto/ospf/ospf.c
+++ b/proto/ospf/ospf.c
@@ -28,7 +28,8 @@
* a place where routins for searching LSAs in link-state database,
* adding and deleting them, there are also functions for originating
* various types of LSA. (router lsa, net lsa, external lsa) |Rt.c|
- * contains routins for calculating of routing table.
+ * contains routins for calculating of routing table. |Lsalib.c| is a set
+ * of various functions for work with LSAs.
*
* Just one instance of protocol is able to hold LSA databases for
* multiple OSPF areas and exhange routing information between