summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/interface.c
AgeCommit message (Collapse)Author
2005-10-19fix some spellings in comments.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-12If router is DR or BDR join the AllDRouter list (and leave it if otherwise).Claudio Jeker
OK norby@
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-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-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-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-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-05-27Virtual link support.Esben Norby
ok claudio@
2005-05-26Make interface election less verbose.Esben Norby
2005-05-26Simplify and cleanup passive interface handling.Esben Norby
ok claudio@
2005-05-26Support dumping the configuration the way bgpd(8) does it.Esben Norby
This makes it possible to have ospfd(8) parse a configuration file and display the parsed result. ok claudio@
2005-05-12Fix multiple bugs in if_act_elect(). In some cases DR were set wronglyClaudio Jeker
because of a stupid typo that I fixed in rev. 1.6 but forgot to fix the bug I introduced before because of that typo. Also reset the DR/BDR fields of iface->self when going to round two. Without the reset it is e.g. not possible to drop from DR to BDR. Issue found and patch tested by Stephen Marley OK norby@
2005-04-25Call if_init() later and for each interface separately.Claudio Jeker
Move code from if_act_start() to if_init() that needs to be called only once per interface. Especially event_set should be called only once as it initializes struct event and so may cause corruption of the event queue if called twice.
2005-04-25Move the creation of the ospf_socket from if_init() directly into ospfe().Claudio Jeker
This makes it possible to call if_init() at a much later time.
2005-04-25Call if_init() in ospfe only, neither the rde nor the parent need it.Claudio Jeker
2005-04-25Change order of execution in if_act_reset(). First notify all neighborClaudio Jeker
that the interface gets reset (NBR_EVT_KILL_NBR) and than clear all timers of the interface. The nbr_fsm() may start some of the timers which has strange results. Tested by Philip Olsson.
2005-04-19Don't call event_set() before event_init().Claudio Jeker
OK norby@
2005-03-31Better crypt sequence number initialization.Esben Norby
Suggested by henning@ ok henning@
2005-03-31Add support for crypt authentication (MD5).Esben Norby
ok and input claudio@
2005-03-29The RFC never mentions anything about transfer, this should be transmit.Esben Norby
From Jason Ackley (thanks). ok claudio@
2005-03-22Remove bool cruft.Esben Norby
ok claudio@
2005-03-11KNFHenning Brauer
2005-03-07Track interface state (up/down) and media status. Simplify the code a bitClaudio Jeker
by using the kif/kroute info while allocating interfaces.
2005-02-16Support point to point links.Esben Norby
ok claudio@
2005-02-09Rework of self originated LSA. First of all the code to generate the LSAClaudio Jeker
is rewritten to use the dynamic buffer api introduced lately. Add missing parts in the RDE to merge these LSA originated from the OE into the LSDB with correct seq_num, etc. Add hooks to the neighbor and interface fsm so that the LSA get updated if needed. This is not perfect, still many things are missing. OK norby@
2005-02-09Fix interface fsm by inserting dummy events and actions as placeholderClaudio Jeker
for 0. Action 0 was IF_ACT_STRT and that's why if_act_start() got called multiple times. The inappropriate hack from the previous commit is no longer needed.
2005-02-09Don't elect neighbors that are down and fix a stupid copy-pasto.Claudio Jeker
2005-02-09Initialize iface->self only once. if_act_start() may be called multipleClaudio Jeker
times for a interface.
2005-02-07spelling fixesDavid Krause
2005-02-02KNFHenning Brauer
2005-01-28Change my email address to the OpenBSD one since Ericsson has nothing toEsben Norby
do with this software, just happend to be my only valid email address at the time.
2005-01-28Welcome ospfdClaudio Jeker
started by Esben Norby some time ago by using the imsg/three process framework of bgpd. He implemented the basic concept plus the ospf finite state machines. Later I joined and helped him cleanup, debug and extend his work. Right now it is not particularly useful, major parts are still missing but is imported to allow more people to work on it. status: The basic protocol works for broadcast networks and the LS database is synchronized and updated. It is not possible to be DR or BDR on a network and other interface types like point-to-point are not yet supported. The shortest path tree is not calculated and so no routing information is exchanged with the kernel FIB. Not yet connected to the builds. OK henning@