diff options
Diffstat (limited to 'proto/ospf')
-rw-r--r-- | proto/ospf/Doc | 5 | ||||
-rw-r--r-- | proto/ospf/iface.c | 21 | ||||
-rw-r--r-- | proto/ospf/iface.h | 2 | ||||
-rw-r--r-- | proto/ospf/lsack.c | 4 | ||||
-rw-r--r-- | proto/ospf/ospf.c | 3 |
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 |