summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
AgeCommit message (Collapse)Author
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@
2005-10-03typoMathieu Sauve-Frankel
ok claudio@
2005-09-29Show the time a neighbor was DOWN instead of counting down fromClaudio Jeker
DEFAULT_NBR_TMOUT. Makes it easy to see since when a peer is dead. OK norby@ some time ago
2005-09-28- use proper function name in log messageMathieu Sauve-Frankel
ok norby@
2005-09-24- add auth_type and auth_keyid to struct ctl_ifaceMathieu Sauve-Frankel
- have ospfctl tell us when we are using authentication with 'show interface' ok claudio@ norby@
2005-09-17- add get_rtr_id() based on bgpd's get_bgpid()Mathieu Sauve-Frankel
- remove rtr_id from struct iface we don't need to keep a copy of this value per interface - replace all references to iface->rtr_id.s_addr with calls to ospfe_rtr_id() ok claudio@ norby@
2005-09-15auth-md-keyid 0 is valid but is not allowed on Cis^H^Hrap routers.Claudio Jeker
Default to id 1 and mention it in the man page. From a discussion with msf@ OK norby@
2005-09-15Correctly handle loopback interfaces. Mark them as point-to-point networksClaudio Jeker
that are in loopback mode. With this it is possible to use lo1 to hold the loopback address of the router as done often on ciscos etc. Problem found and fix tested by jakob@ OK norby@
2005-09-01rt_lookup() did not respect the route node invalid flag and so AS-extClaudio Jeker
routes where not cleared even though the advertising router was no longer reachable. Same problem has the rt_dump() function that is used for ospfctl show rib. Tested by me and norby@ OK norby@ deraadt@
2005-08-30Fix one of the most fragile part of ospfd -- the interface election code.Claudio Jeker
One of the main problems is that the RFC is very unprecise about the process and so a bit of guessing and "violating" the RFC is needed. The problem was that on fast restarts ospfd computed wrong DR and BDR routers. OK norby@ deraadt@
2005-08-30Fix a bug in the nexthop calculation for complex networks. The result was aClaudio Jeker
routing table where most entries used the local interface IP as nexthop. This bug was found by jakob@ and he verified that it fixes his problems. Additional tests by me and norby@. OK norby@ deraadt@
2005-08-15Fix possible race condition in signal handler.Esben Norby
Report and fix from Micheal Knudsen. Prep, test and OK claudio@