summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
AgeCommit message (Collapse)Author
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@
2005-08-11EINTR, and a little KNF in packet.cHenning Brauer
2005-08-08Try to do an SPF recalculation only if the LS DB changed.Claudio Jeker
This is still not perfect as on ABRs it is only necessary to recalculate the area that got changed and not all others too. More to come but it is a good start. OK norby@
2005-08-08Correctly order LSA/route entries. Also prefer network vertices over routerClaudio Jeker
ones in the candidate list. Be more careful about LS_INFINITY as it is possible that the cost overflows in the calculation (checking for == is in some cases wrong). Simplify the code a bit. Tested and OK norby@
2005-08-08tab before newline.Claudio Jeker
2005-06-28Make it possible to specify interfaces just by using "interface em0" withoutClaudio Jeker
a {} block. Only drawback is that it is no longer possible to do "interface em0\n{ ...". OK henning@ norby@ some time ago
2005-06-27Mark connected routes (routes without a nexthop) in the rib. Without thisClaudio Jeker
as-ext routes would select a wrong nexthop if the forwarding router is directly connected. OK, help and debugging norby@
2005-06-27Don't let /32 DT_NET routes override DT_RTR routes. This should helpClaudio Jeker
setups with /32 loopback networks. OK norby@
2005-06-26typo by claudioTheo de Raadt
2005-06-26Don't htonl() something that is already in network byte order. AS-Ext routesClaudio Jeker
suffered because of this. Normaly seen because they where not added to the rib or ended up with a bad nexthop. This is what you get for stealing code from bgpd :( OK norby@
2005-06-26Do not automaticaly announce routes that have RTF_DYNAMIC set. These routesClaudio Jeker
are e.g. created by the PMTU code and are removed after some time. OK norby@
2005-06-21Backout/Disable the change introduced in rev. 1.26. Don't start the helloClaudio Jeker
timer in IF_STA_WAITING. We are not ready for this because the RFC is totaly fucked up in that specific area causing many issues on fast reloads. OK norby@
2005-06-21The ev_sighup event handler should handle SIGHUP and not SIGTERM.Claudio Jeker
SIGTERM is already handled by ev_sigterm.
2005-06-13One additional if_act_elect bug. Neighbors in preliminary state (down, attemptClaudio Jeker
and init) are not electable not only neighbors that are in state down. OK norby@
2005-06-13Doh. Fix another stupid copy paste typo. Once again BDR != DR.Claudio Jeker
OK norby@
2005-06-13add a new fsm transition for IF_EVT_WTIMER in state IF_STA_ANY that simplyClaudio Jeker
ignores the event. This removes the warning "fsm_if: interface em0, event WAITTIMER not expected in state DROTHER" in case of a quick startup. OK norby@
2005-06-13start hello timer even if in state IF_STA_WAITING (this makes the startup muchClaudio Jeker
faster and follows the RFC more closely). OK norby@
2005-06-13simplify the fsm by moving all the checks that are done if the state changedClaudio Jeker
into one if (old_state != nbr->state) { block. OK norby@
2005-06-13Passive interfaces belong to the area and should be announced as stubClaudio Jeker
networks. Bug report and testing by Stephen Marley. While there kill an unneeded log_debug(). OK norby@
2005-06-13Compare neighbor address with DR/BDR from the hello packet and not withClaudio Jeker
the data from the last hello packet. OK norby@
2005-05-31add -nv to SYNOPSIS;Jason McIntyre
2005-05-28Fix confusing typo.Esben Norby
2005-05-27When the neighbor at the other end of the virtual link goes to stateEsben Norby
full, originate a new router LSA. ok claudio@
2005-05-27Set the V-bit when originating virtual links in router LSAs.Esben Norby
ok claudio@
2005-05-27Virtual link support, originate virtual links in router LSAs.Esben Norby
jajaja claudio@
2005-05-27Virtual link support.Esben Norby
ok claudio@
2005-05-27Virtual link support.Esben Norby
ok claudio@
2005-05-27Virtual link support.Esben Norby
ok claudio@
2005-05-27Fix a access after free on shutdown. OK norby@Claudio Jeker
2005-05-27Clearify.Esben Norby
2005-05-27Initial virtual link support.Esben Norby
ok claudio@
2005-05-27Nasty bug!Esben Norby
Found during the development of virtual link support. Personally I spend 3 hours chasing this, and I didn't find it. Claudio spend 2 hours and he found it, credit goes to him :-) It is wise to put the payload you just created onto the wire, instead of putting some freshly 0'ed bytes.... ok claudio@
2005-05-27Virtual link support.Esben Norby
ok claudio@
2005-05-27Preparations for virtual link support.Esben Norby
ok claudio@
2005-05-27Preparation for upcoming virtual link support.Esben Norby
ok claudio@
2005-05-27While calculating the routing table don't ignore all routes with a cost ofClaudio Jeker
LS_INFINITY. Summary LSA are not touched by the SPF algorithm and so they got dropped here because the still had a cost of LS_INFINITY. The calculated routing table starts to make sense now. OK norby@
2005-05-27Only checking if w->cost is non equal to LS_INFINITY and w->prev is NULL isClaudio Jeker
not enough to distinguish between calculated vertexes and those just queued in the candidate list. So add a additional check if the vertex is on the candidate list. This fixes a problem Stephen Marley reported some time ago. OK norby@
2005-05-27Fix nexthop calculation by setting w->prev before calling calc_next_hop().Claudio Jeker
OK norby@
2005-05-26Unnecessary ()Claudio Jeker