summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
AgeCommit message (Collapse)Author
2005-12-29More correct cleanup on exit. OK norby@Claudio Jeker
2005-12-29Instead of a simple timer per neighbor for the LS retransmition list useClaudio Jeker
a timewheel. All LSA updates are now first added to the queue and sent out later. This makes it possible to cluster multiple LSA updates into on OSPF packet. This gives a massive speedup when large databases need to be synced. Tested and OK norby@
2005-12-15No need to call the nbr_fsm for unexpected LS requests. The RFC tells toClaudio Jeker
just ignore thos packets. OK norby@
2005-12-15Fix ospfe shutdown function. The cleanup was totaly busted. OK norby@Claudio Jeker
2005-12-15Simpify iface_del() and nbr_del(). make them void funtions as they can not failClaudio Jeker
and do not remove a element twice in iface_del(). OK norby@
2005-12-15Fix memory leaks in the parser. Make the string passed with area more strict.Claudio Jeker
Finaly implement clear_config(). OK norby@
2005-12-14Replace strlcpy() with memcpy() in the sockaddr_dl handling. sdl_data isClaudio Jeker
not a C string and strlcpy() only works on C strings -- returns length of the source. Found by tedu@ OK deraadt@ tedu@
2005-12-05Optimize rde_redistribute() a bit and remove two unneeded and way to verboseClaudio Jeker
log_debug() messages. OK norby@
2005-12-04Increase ADJ_TMOUT to prevent loss of adjacency during bulk ls updateEsben Norby
transfers. ok claudio@
2005-12-04Increase the receive buffer of the raw socket.Esben Norby
Prevents some of the retransmitting during bulk ls update transfers. ok claudio@
2005-12-02Fixed version of r1.35, readd candidate to list in both cases so that the listClaudio Jeker
remains sorted. Tested and OK norby@
2005-11-14Revert candidate list change since it is broken.Esben Norby
ok henning@
2005-11-12spacing mostlyTheo de Raadt
2005-11-04The candidate list is a sorted linear list so when changing the cost ofClaudio Jeker
a vertex that is already a candidate it is necessary to remove and insert the candidate otherwise the candidate list is no longer correctly sorted. OK norby@
2005-11-04The maximal rate LSA can be updated is all MIN_LS_INTERVAL seconds and notClaudio Jeker
MIN_LS_ARRIVAL. MIN_LS_ARRIVAL is used to limit the rate of incomming updates.
2005-11-04Set the vertex timestamp as soon as possible giving ospfd a chance to recoverClaudio Jeker
from time jumps.
2005-11-04Kill spf_timer in struct ospfd_conf. There is no need for two event structsClaudio Jeker
just use ev for the spf_timer -- ev is unused in the RDE.
2005-11-04Use >= instead of == to compare cost with LS_INFINITY. While there fix a typo.Claudio Jeker
2005-11-04In the super fast start-up case in recv_db_description() make sure theClaudio Jeker
the 2WAY neighbor event is issued before the interface NBR_CHNG. Fix some comments while there.
2005-11-04Remove unused variable link_state in struct nbr.Claudio Jeker
2005-11-04Make "interface em0 { }" work again. Reported and OK stevesk@Claudio Jeker
2005-10-30remove some unneeded #includes and correct keyword in error string;Kevin Steves
ok claudio@
2005-10-28a little bit saner macros;Jason McIntyre
2005-10-28authentication cleanup and clarification;Kevin Steves
ok and mdoc help claudio@ jmc@
2005-10-28clean auth error messages; ok claudio@ msf@Kevin Steves
2005-10-27Add something to explain effect of passive interface; ok claudio@Kevin Steves
2005-10-26some unneeded #includes; ok claudio@Kevin Steves
2005-10-250) ospfctl doesn't use ospfd.conf so remove that from FILESKevin Steves
1) add /var/run/ospfd.sock to ospfd and ospfctl FILES 2) add .Xr ospfd.conf 5 to ospfctl SEE ALSO ok claudio@ jmc@
2005-10-21htons() instead of ntohs() when going from host to network.Claudio Jeker
2005-10-21Revert part of rev 1.14. For now queue LSAs to all neighbors if the interfaceClaudio Jeker
is in state BACKUP or DR -- even to the DR. This causes unneeded retransmission of LSAs but solves a problem with self originated ones. The BDR was no longer capable to reliably flood self originated LSA. Better solution will follow. Reported by stevesk@
2005-10-19small cleanups while reading; ok claudio@Kevin Steves
2005-10-19Add neighbor ID in warning and use correct function names.Claudio Jeker
2005-10-19fix some spellings in comments.Claudio Jeker
2005-10-19header cleaning; ok claudio@Kevin Steves
2005-10-19use string.h; ok claudio@Kevin Steves
2005-10-18Simplify code a bit. OK norby@Claudio Jeker
2005-10-18Cleanup interface code a minimal bit. There is no need for if_shutdown(),Claudio Jeker
especially it got called in the wrong place. OK norby@
2005-10-18Better warning for non equal MTU in the database phase. Instead of justClaudio Jeker
whining that the MTU differs tell actually what is expected and what was sent. OK norby@
2005-10-18The kroute nexthop stuff was removed long time ago. So remove theseClaudio Jeker
function prototypes too.
2005-10-18Correct log_debug(). Found while scrolling through that file.Claudio Jeker
2005-10-13Fix a memory leak in the ospf engine. First of all ospfd did not track if aClaudio Jeker
LSA was already queued on nbr self. So after the first round -- where the lsa was queued -- ospfd would remove it again in a second run. That was not enough but the LSA was removed from the wrong neighbor -- nbr instead of iface->self. LIST_REMOVE does not track the queue and so that resulted in some strangeness (especially the lsa_cache did not get cleared). OK norby@
2005-10-13Correctly queue ls updates on the retransmission lists.Claudio Jeker
First of all it is not clever to set queued before we actually queue something -- unless queued is set. If ospfd is running as BDR don't add updates to the retransmission list to the DR. OK norby@
2005-10-12Correct function name in warning.Claudio Jeker
2005-10-12Revert last commit. That file was not intended to be commited.Claudio Jeker
2005-10-12Fix the flooding procedure. Violate the RFC else many BAD_LS_REQ events andClaudio Jeker
session drops happend while booting up. If a router is conected to a other router over two different interface one session will be unable to load until the other one is in state FULL. ospfd no longer issues a BAD_LS_REQ event if the LSA is equal to the one in table but if the sent lsa is older a BAD_LS_REQ event is still issued. OK norby@
2005-10-12Fix a massive memory leak in the RDE. ospfd leaked every ls update unlessClaudio Jeker
lsa_add() was called (which is just one specific case of many) OK norby@
2005-10-12If router is DR or BDR join the AllDRouter list (and leave it if otherwise).Claudio Jeker
OK norby@
2005-10-12Minor cleanup. Use iface->state & IF_STA_DRORBDR as used in other placesClaudio Jeker
instead of iface->state != (IF_STA_DR | IF_STA_BACKUP). OK norby@
2005-10-12In one special condition ospfd sent out ls updates without updating theClaudio Jeker
checksum. Because of the invalid checksum the other routers dropped it and so the update was retransmitted over and over again. Now we update the checksum in lsa_merge() after bumping the sequence number instead of hoping that lsa_timeout() -> lsa_refresh() will do it for us. OK norby@
2005-10-06I should have read the RFC more carefully.Claudio Jeker
...if only one of the instances has its LS age field set to MaxAge The important part is "only one", so check if both LSA are at MaxAge and in that case return 0 -- the LSAs are identical. This fixes a super nasty doom loop between two ospfd sending each other LSA updates at an incredible speed. Tested and OK norby@