summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/ospfe.c
AgeCommit message (Collapse)Author
2007-02-01Preliminary configuration reload support. Seems to work reasonably wellClaudio Jeker
after fixing many use-after-free errors a couple of days ago. Most cases -- adding/removing of interfaces, adding/removing of areas -- seem to work. Still merge_config() is a behemoth of a function and some edge cases may not be covered correctly (yet). OK norby@ pyr@
2007-01-11Silently ignore unknown neighbors in the rde and ospfe imsg handler. ThisClaudio Jeker
is needed for upcomming reload support -- it can happen that a message to a just deleted neighbor is still pending.
2006-11-28add additional link states to report the half duplex / full duplexReyk Floeter
state, if known by the driver. this is required to check the full duplex state without depending on the ifmedia ioctl which can't be called in the kernel without process context. ok henning@, brad@
2006-11-17Support for multiple networks on one interface. Until now only the mainClaudio Jeker
address of a interface could be used. Now it is possible to specify a interface more than once if multiple networks are configured. An alternative network can be specified via e.g. interface em0:10.0.5.1. The old interface syntax without the IP still works and uses the main/first configured IP address. ospfd now needs to include the IP header on outgoing messages as it is not possible to specifiy the source address in sendto(2). Additionally all multicast joins and leaves have to be tracked. OK norby@
2006-09-27Use IP_RECVIF to get the incomming interface of OSPF packets. Now we useClaudio Jeker
the source address and the interface index to find the corresponding struct interface which is less error prone. OK norby@
2006-06-02remove unused variable, found by lint.Esben Norby
2006-05-30Uups, this file should be commited with the redistribute rtlabel stuff.Claudio Jeker
2006-04-25More lint cleanup. Kill unneeded stuff and sprinkle some ARGSUSED.Claudio Jeker
2006-04-16KNFHenning Brauer
2006-03-09Log link state changes.Esben Norby
ok claudio@
2006-03-08Remove unused quit flag inherited from bgpd long ago.Claudio Jeker
2006-03-08Check for implied acks. If we receive an update that is on our retransmissionClaudio Jeker
queue for the neighbor there is no need to send back an ack.
2006-02-21Better English in comments.Claudio Jeker
2006-02-19Do not allocate a new chunk of memory every time we receive a packet.Esben Norby
This should have been fixed ages ago since it really improves the performance of ospfd. ok claudio@
2006-02-10ospfd does not need fd passing via the imsg framework so remove that codeClaudio Jeker
and remove other unneeded functions that are only used in bgpd.
2006-01-05Make ospfd respect carp(4) interfaces and their weird behaviour. They willClaudio Jeker
not be used to connect to a OSPF cloud and forced to be passive. With this ospfd will only announce the carp interface route if the interface is master. So you can connect a LAN in a redundant way to your ospf backbone. OK norby@
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-15Fix ospfe shutdown function. The cleanup was totaly busted. OK norby@Claudio Jeker
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-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-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-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-27Fix a access after free on shutdown. OK norby@Claudio Jeker
2005-05-27Initial virtual link support.Esben Norby
ok claudio@
2005-05-26More usable debug output when originating router lsas.Esben Norby
2005-05-26Another unneeded debug message.Esben Norby
2005-05-26Remove unneeded debugging messages from ospfe imsg handling.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-23useless use of endpwentHenning Brauer
2005-05-12Add "show database asbr/external/network/router/self-originate/summary"Esben Norby
to ospfctl. Show detailed information about the LSAs in the Link State Database. ok claudio@
2005-05-12If activly connected to more than one area set B flag in the self-originatedClaudio Jeker
router LSA. To do that correctly we need to track the number of active neighbors for each area. If the routers ABR status changes all router LSA need to be updated via orig_rtr_lsa_all(). OK norby@
2005-05-02use setres[ug]id for privilege dropping; ok norby@Damien Miller
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-12Support for self originated AS-external LSA.Claudio Jeker
With "redistribute (static|connected|default|none)" it is possible to tell ospfd which external routes should be announced. Connected routes will be announced only if there is no corresponding interface configured, in that case the prefix is not external. Adding and removing of announced prefixes are done automaticaly. OK norby@
2005-03-15Add control messages for the show fib commands.Claudio Jeker
OK norby@ deraadt@
2005-03-14Add "show summary" to ospfctl.Esben Norby
ok claudio@ henning@
2005-03-12Add "show rib" and "show rib detail" to ospfctl.Esben Norby
ok henning@
2005-03-12Small K&F.Esben Norby
ok henning@
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-27SPF and route table calculation.Esben Norby
Calculate Shortest Path Tree for each area known in the link state database. The Shortest Path Tree is used as input for route table calculation. Route tabled is calculated and the result is inserted into the kernel route table. ok claudio@
2005-02-19Originate P2P links correctly.Esben Norby
ok claudio@
2005-02-10Work around a timing issue in the db exchange phase. The DB descriptionClaudio Jeker
packets comming from the net are looped through the RDE and may get delayed because of this. The result is that the neighbor FSM ends in state FULL instead of LOADING and so the LSDB is not correctly synchronized. Issue found by norby@ OK norby@
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-07spelling fixesDavid Krause
2005-02-02KNFHenning Brauer