Commit baa5dd6c authored by Ondřej Filip's avatar Ondřej Filip

Many spelling mistakes fixed.

Thanks you Harry Moyes.
parent c197d44e
......@@ -12,11 +12,11 @@
* ospf_dbdes_tx - transmit database description packet
* @n: neighbor
*
* Sending of database description packet is described in 10.6 of RFC 2328.
* Reception of each packet is acknoledged in sequence number of another.
* When I send a packet to neighbor I keep a copy in buffer. If neighbor
* does not reply, I don't create new packet but I just send content
* of buffer.
* Sending of a database description packet is described in 10.6 of RFC 2328.
* Reception of each packet is acknowledged in the sequence number of another.
* When I send a packet to a neighbor I keep a copy in a buffer. If the neighbor
* does not reply, I don't create a new packet but just send the content
* of the buffer.
*/
void
ospf_dbdes_tx(struct ospf_neighbor *n)
......
......@@ -21,9 +21,9 @@ char *ospf_it[]={ "broadcast", "nbma", "point-to-point", "virtual link" };
* @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.
* Many actions must be taken according to interface state changes. New network
* LSAs must be originated, flushed, new multicast sockets to listen for messages for
* %ALLDROUTERS have to be opened, etc.
*/
void
iface_chstate(struct ospf_iface *ifa, u8 state)
......
......@@ -22,15 +22,15 @@ flush_lsa(struct top_hash_entry *en, struct ospf_area *oa)
* ospf_age
* @oa: ospf area
*
* This function is periodicaly invoked from area_disp(). It computes new
* age of all LSAs and old (@age is higher than %LSA_MAXAGE) are flushed
* when ever possible. If some LSA originated by router itself is older
* than %LSREFRESHTIME new instance is originated.
* This function is periodicaly invoked from area_disp(). It computes the new
* age of all LSAs and old (@age is higher than %LSA_MAXAGE) LSAs are flushed
* whenever possible. If an LSA originated by the router itself is older
* than %LSREFRESHTIME a new instance is originated.
*
* RFC says, that router should check checksum of every LSA to detect some
* hardware problem. BIRD does not do it to minimalize CPU utilization.
* The RFC says that a router should check the checksum of every LSA to detect
* hardware problems. BIRD does not do this to minimalize CPU utilization.
*
* If routing table calculation is scheduled, it also invalidates old routing
* If routing table calculation is scheduled, it also invalidates the old routing
* table calculation results.
*/
void
......
......@@ -253,7 +253,7 @@ ospf_lsupd_rx(struct ospf_lsupd_packet *ps, struct proto *p,
if((n=find_neigh(ifa, nrid))==NULL)
{
OSPF_TRACE(D_PACKETS, "Received lsupd from unknown neigbor! (%I)",
OSPF_TRACE(D_PACKETS, "Received lsupd from unknown neighbor! (%I)",
nrid);
return ;
}
......
......@@ -27,7 +27,7 @@ const char *ospf_inm[]={ "hello received", "neighbor start", "2-way received",
* @n: OSPF neighbor
* @state: new state
*
* Many actions has to be taken acording to state change of neighbor. It
* Many actions have to be taken acording to a change of state of a neighbor. It
* starts rxmt timers, call interface state machine etc.
*/
......@@ -217,11 +217,11 @@ can_do_adj(struct ospf_neighbor *n)
* @n: neighor
* @event: actual event
*
* This part implements neighbor state machine as described in 10.3 of
* RFC 2328. the only difference is that state %NEIGHBOR_ATTEMPT is not
* used. We discover neighbors on nonbroadcast networks using the
* same ways as on broadcast networks. The only difference is in
* sending hello packets. These are send to IPs listed in
* This part implements the neighbor state machine as described in 10.3 of
* RFC 2328. The only difference is that state %NEIGHBOR_ATTEMPT is not
* used. We discover neighbors on nonbroadcast networks in the
* same way as on broadcast networks. The only difference is in
* sending hello packets. These are sent to IPs listed in
* @ospf_iface->nbma_list .
*/
void
......@@ -322,9 +322,9 @@ ospf_neigh_sm(struct ospf_neighbor *n, int event)
* bdr_election - (Backup) Designed Router election
* @ifa: actual interface
*
* When wait time fires, it time to elect (Backup) Designed Router.
* When the wait timer fires, it is time to elect (Backup) Designated Router.
* Structure describing me is added to this list so every electing router
* has the same list. Backup Designed Router is elected before Designed
* has the same list. Backup Designated Router is elected before Designated
* Router. This process is described in 9.4 of RFC 2328.
*/
void
......
......@@ -10,60 +10,60 @@
* DOC: Open Shortest Path First (OSPF)
*
* The OSPF protocol is quite complicated and its complex implemenation is
* split to many files. In |ospf.c|, you can find mostly interface
* split to many files. In |ospf.c|, you will find mainly the interface
* for communication with the core (e.g., reconfiguration hooks, shutdown
* and initialisation and so on). In |packet.c|, you can find various
* functions for sending and receiving of generic OSPF packets. There are
* also routines for autentication and checksumming. File |iface.c| contains
* the interface state machine, allocation and deallocation of OSPF's
* and initialisation and so on). In |packet.c|, you will find various
* functions for sending and receiving generic OSPF packets. There are
* also routines for authentication and checksumming. File |iface.c| contains
* the interface state machine and functions for allocation and deallocation of OSPF's
* interface data structures. Source |neighbor.c| includes the neighbor state
* machine and functions for election of Designed Router and Backup
* Designed router. In |hello.c|, there are routines for sending
* machine and functions for election of Designated Router and Backup
* Designated router. In |hello.c|, there are routines for sending
* and receiving of hello packets as well as functions for maintaining
* wait times and the inactivity timer. Files |lsreq.c|, |lsack.c|, |dbdes.c|
* contain functions for sending and receiving of link-state requests,
* link-state acknoledges and database descriptions respectively.
* link-state acknowledgements and database descriptions respectively.
* In |lsupd.c|, there are functions for sending and receiving
* of link-state updates and also the flooding algorithm. Source |topology.c| is
* a place where routines for searching LSA's in the link-state database,
* a place where routines for searching LSAs in the link-state database,
* adding and deleting them reside, there also are functions for originating
* of various types of LSA's (router LSA, net LSA, external LSA). File |rt.c|
* of various types of LSAs (router LSA, net LSA, external LSA). File |rt.c|
* contains routines for calculating the routing table. |lsalib.c| is a set
* of various functions for working with the LSA's (endianity conversions,
* of various functions for working with the LSAs (endianity conversions,
* calculation of checksum etc.).
*
* One instance of the protocol is able to hold LSA databases for
* multiple OSPF areas, to exchange routing information between
* multiple neighbors and to calculate the routing tables. The core
* structure is &proto_ospf to which multiple &ospf_area and
* &ospf_iface structures are connected. To &ospf_area is also connected
* &ospf_iface structures are connected. &ospf_area is also connected to
* &top_hash_graph which is a dynamic hashing structure that
* describes the link-state database. It allows fast search, addition
* and deletion. Each LSA is kept in two pieces: header and body. Both of them are
* kept in endianity of the CPU.
* kept in the endianity of the CPU.
*
* Every area has its own area_disp() which is
* responsible for late originating of router LSA, calculating
* of the routing table and it also ages and flushes the LSA's. This
* of the routing table and it also ages and flushes the LSAs. This
* function is called in regular intervals.
* To every &ospf_iface, we connect one or more
* &ospf_neighbor's -- a structure containing many timers and queues
* for building adjacency and for exchange of routing messages.
*
* BIRD's OSPF implementation respects RFC2328 in every detail, but
* some of internal algorithms do differ. The RFC recommends to make a snapshot
* of the link-state database when a new adjacency is forming and send
* the database description packets based on information of this
* some of internal algorithms do differ. The RFC recommends making a snapshot
* of the link-state database when a new adjacency is forming and sending
* the database description packets based on the information in this
* snapshot. The database can be quite large in some networks, so
* we rather walk through a &slist structure which allows us to
* continue even if the actual LSA we were worked with is deleted. New
* LSA's are added at the tail of this &slist.
* rather we walk through a &slist structure which allows us to
* continue even if the actual LSA we were working with is deleted. New
* LSAs are added at the tail of this &slist.
*
* We also don't keep a separate OSPF routing table, because the core
* helps us by being able to recognize when a route is updated
* to an identical one and it suppresses the update automatically.
* Due to this, we can flush all the routes we've recalculated and
* also those we're deleted to the core's routing table and the
* also those we've deleted to the core's routing table and the
* core will take care of the rest. This simplifies the process
* and conserves memory.
*/
......@@ -270,13 +270,13 @@ schedule_rtcalc(struct ospf_area *oa)
}
/**
* area_disp - invokes link-state database aging, originating of
* area_disp - invokes link-state database aging, origination of
* router LSA and routing table calculation
* @timer: it's called every @ospf_area->tick seconds
*
* It ivokes aging and when @ospf_area->origrt is set to 1, start
* function for origination of router LSA and network LSA's.
* It also start routing
* It invokes aging and when @ospf_area->origrt is set to 1, start
* function for origination of router LSA and network LSAs.
* It also starts routing
* table calculation when @ospf_area->calcrt is set.
*/
void
......@@ -308,11 +308,11 @@ area_disp(timer *timer)
* ospf_import_control - accept or reject new route from nest's routing table
* @p: current instance of protocol
* @new: the new route
* @attrs: list of arttributes
* @pool: pool for alloction of attributes
* @attrs: list of attributes
* @pool: pool for allocation of attributes
*
* Its quite simple. It does not accept our own routes and decision of
* import leaves to the filters.
* Its quite simple. It does not accept our own routes and leaves the decision on
* import to the filters.
*/
int
......@@ -341,13 +341,13 @@ ospf_store_tmp_attrs(struct rte *rt, struct ea_list *attrs)
}
/**
* ospf_shutdown - Finnish of OSPF instance
* ospf_shutdown - Finish of OSPF instance
* @p: current instance of protocol
*
* RFC does not define any action that should be taken befor router
* RFC does not define any action that should be taken before router
* shutdown. To make my neighbors react as fast as possible, I send
* them hello packet with empty neighbor list. They should start
* theirs neighbor state machine with event %NEIGHBOR_1WAY.
* their neighbor state machine with event %NEIGHBOR_1WAY.
*/
static int
......@@ -374,7 +374,7 @@ ospf_rt_notify(struct proto *p, net *n, rte *new, rte *old, ea_list *attrs)
{
struct proto_ospf *po=(struct proto_ospf *)p;
/* Temporarily down write anythink
/* Temporarily down write anything
OSPF_TRACE(D_EVENTS, "Got route %I/%d %s", p->name, n->n.prefix,
n->n.pxlen, new ? "up" : "down");
*/
......@@ -481,9 +481,9 @@ ospf_patt_compare(struct ospf_iface_patt *a, struct ospf_iface_patt *b)
* @p: current instance of protocol (with old configuration)
* @c: new configuration requested by user
*
* This hook tries to be a little bit inteligent. Instance of OSPF
* This hook tries to be a little bit intelligent. Instance of OSPF
* will survive change of many constants like hello interval,
* password change, addition of deletion of some neighbor on
* password change, addition or deletion of some neighbor on
* nonbroadcast network, cost of interface, etc.
*/
static int
......@@ -629,12 +629,12 @@ ospf_reconfigure(struct proto *p, struct proto_config *c)
ifa->iface->name);
}
/* AUTHETICATION */
/* AUTHENTICATION */
if(ip1->autype!=ip2->autype)
{
ifa->autype=ip2->autype;
OSPF_TRACE(D_EVENTS,
"Changing autentication type on interface %s",
"Changing authentication type on interface %s",
ifa->iface->name);
}
if(strncmp(ip1->password,ip2->password,8)!=0)
......@@ -739,7 +739,7 @@ ospf_reconfigure(struct proto *p, struct proto_config *c)
if(((NODE (ac1))->next)!=((NODE (ac2))->next))
return 0; /* One is not null */
return 1; /* Everythink OK :-) */
return 1; /* Everything OK :-) */
}
void
......
......@@ -67,11 +67,11 @@ ospf_pkt_finalize(struct ospf_iface *ifa, struct ospf_packet *pkt)
/**
* ospf_rx_hook
* @sk: socket we recived the packet. Its ignored.
* @sk: socket we received the packet. Its ignored.
* @size: size of the packet
*
* This in entry point for messages from neighbors. Many checks (like
* autnetication, checksums, size) are done before packet is passed to
* This is the entry point for messages from neighbors. Many checks (like
* authentication, checksums, size) are done before the packet is passed to
* non generic functions.
*/
int
......
......@@ -37,10 +37,10 @@ init_efib(struct fib_node *fn)
* ospf_rt_spfa - calculate internal routes
* @oa: OSPF area
*
* Calculation of internal paths in area is described in 16.1 of RFC 2328.
* It's based on Dijkstra shortest path tree algorithmus.
* Calculation of internal paths in an area is described in 16.1 of RFC 2328.
* It's based on Dijkstra's shortest path tree algorithms.
* RFC recommends to add ASBR routers into routing table. I don't do this
* and latter parts of routing table calculation looks directly into LSA
* and latter parts of routing table calculation look directly into LSA
* Database. This function is invoked from area_disp().
*/
void
......@@ -433,7 +433,7 @@ ospf_ext_spfa(struct proto_ospf *po) /* FIXME looking into inter-area */
{
if(nf->metric!=LSINFINITY)
OSPF_TRACE(D_EVENTS,
"Rewritting %I/%d met=%d, met2=%d, nmet=%d, nmet2=%d",
"Rewriting %I/%d met=%d, met2=%d, nmet=%d, nmet2=%d",
ip, mlen, nf->metric, nf->metric2, met, met2);
nf->metric=met;
nf->metric2=met2;
......@@ -530,7 +530,7 @@ let:
FIB_ITERATE_END(nftmp);
}
/* Add LSA into list of candidates in Dijkstra alogithm */
/* Add LSA into list of candidates in Dijkstra's algorithm */
void
add_cand(list *l, struct top_hash_entry *en, struct top_hash_entry *par,
u16 dist, struct ospf_area *oa)
......
......@@ -253,8 +253,8 @@ originate_net_lsa_body(struct ospf_iface *ifa, u16 *length,
* originate_net_lsa - originates of deletes network LSA
* @ifa: interface which is LSA originated for
*
* Interface counts number of adjacent neighbor. If this number is
* lower then one or interface is not in state %OSPF_IS_DR it deletes
* Interface counts number of adjacent neighbors. If this number is
* lower than one or interface is not in state %OSPF_IS_DR it deletes
* and premature ages instance of network LSA for specified interface.
* In other case, new instance of network LSA is originated.
*/
......@@ -355,18 +355,18 @@ originate_ext_lsa_body(net *n, rte *e, struct proto_ospf *po, struct ea_list *at
}
/**
* originate_ext_lsa - new route recived from nest and filters
* originate_ext_lsa - new route received from nest and filters
* @n: network prefix and mask
* @e: rte
* @po: current instance of OSPF
* @attrs: list of extended attributes
*
* If I receive message that new route is installed, I try to originate an
* external LSA. LSA header of such LSA does not contain information about
* prefix lenght, so if I have to originate multiple LSAs for route with
* If I receive a message that new route is installed, I try to originate an
* external LSA. The LSA header of such LSA does not contain information about
* prefix length, so if I have to originate multiple LSAs for route with
* different prefixes I try to increment prefix id to find a "free" one.
*
* The function also set flag ebit. If it's first time, the new router lsa
* The function also sets flag ebit. If it's the first time, the new router lsa
* origination is necessary.
*/
void
......@@ -483,7 +483,7 @@ return (ospf_top_hash_u32(lsaid) + ospf_top_hash_u32((type==LSA_T_NET) ? lsaid :
* @p: current instance of OSPF
*
* This dynamically hashed structure is often used for keeping LSAs. Mainly
* its used in @ospf_area structute.
* its used in @ospf_area structure.
*/
struct top_graph *
ospf_top_new(struct proto_ospf *p)
......@@ -634,11 +634,11 @@ ospf_top_dump(struct top_graph *f, struct proto *p)
}
}
/* This is very uneficient, please don't call it often */
/* This is very inefficient, please don't call it often */
/* I should also test for every LSA if it's in some link state
* retransmision list for every neighbor. I will not test it.
* It can happen that I'll receive some strange ls ack's.
* retransmission list for every neighbor. I will not test it.
* It could happen that I'll receive some strange ls ack's.
*/
int
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment