Doc
This commit is contained in:
parent
351feeb514
commit
d5e4b51865
5 changed files with 28 additions and 7 deletions
|
@ -0,0 +1,5 @@
|
||||||
|
S ospf.c
|
||||||
|
S topology.c
|
||||||
|
S neighbor.c
|
||||||
|
S iface.c
|
||||||
|
S packet.c
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* BIRD -- OSPF
|
* 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.
|
* 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" };
|
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
|
void
|
||||||
iface_chstate(struct ospf_iface *ifa, u8 state)
|
iface_chstate(struct ospf_iface *ifa, u8 state)
|
||||||
{
|
{
|
||||||
|
@ -117,6 +126,14 @@ downint(struct ospf_iface *ifa)
|
||||||
mb_free(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
|
void
|
||||||
ospf_int_sm(struct ospf_iface *ifa, int event)
|
ospf_int_sm(struct ospf_iface *ifa, int event)
|
||||||
{
|
{
|
||||||
|
@ -251,7 +268,6 @@ ospf_open_ip_socket(struct ospf_iface *ifa)
|
||||||
return(ipsk);
|
return(ipsk);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Of course, it's NOT true now */
|
|
||||||
u8
|
u8
|
||||||
ospf_iface_clasify(struct iface *ifa, struct proto *p)
|
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;
|
ifa->state=OSPF_IS_DOWN;
|
||||||
ospf_int_sm(ifa, ISM_UP);
|
ospf_int_sm(ifa, ISM_UP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* BIRD -- OSPF
|
* 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.
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||||
*
|
*
|
||||||
|
|
|
@ -100,7 +100,7 @@ ospf_lsack_delay_tx(struct ospf_neighbor *n)
|
||||||
len=sizeof(struct ospf_lsack_packet)+i*sizeof(struct ospf_lsa_header);
|
len=sizeof(struct ospf_lsack_packet)+i*sizeof(struct ospf_lsa_header);
|
||||||
op->length=htons(len);
|
op->length=htons(len);
|
||||||
ospf_pkt_finalize(n->ifa, op);
|
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->type==OSPF_IT_BCAST)
|
||||||
{
|
{
|
||||||
if((ifa->state==OSPF_IS_DR)||(ifa->state==OSPF_IS_BACKUP))
|
if((ifa->state==OSPF_IS_DR)||(ifa->state==OSPF_IS_BACKUP))
|
||||||
|
@ -151,8 +151,6 @@ ospf_lsack_delay_tx(struct ospf_neighbor *n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
|
ospf_lsack_rx(struct ospf_lsack_packet *ps, struct proto *p,
|
||||||
struct ospf_iface *ifa, u16 size)
|
struct ospf_iface *ifa, u16 size)
|
||||||
|
|
|
@ -28,7 +28,8 @@
|
||||||
* a place where routins for searching LSAs in link-state database,
|
* a place where routins for searching LSAs in link-state database,
|
||||||
* adding and deleting them, there are also functions for originating
|
* adding and deleting them, there are also functions for originating
|
||||||
* various types of LSA. (router lsa, net lsa, external lsa) |Rt.c|
|
* 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
|
* Just one instance of protocol is able to hold LSA databases for
|
||||||
* multiple OSPF areas and exhange routing information between
|
* multiple OSPF areas and exhange routing information between
|
||||||
|
|
Loading…
Reference in a new issue