Age | Commit message (Collapse) | Author |
|
|
|
the code and makes config reloads easier. OK norby@
|
|
Switch them to void functions and check if evtimer_add/del fails -- in which
case we fatal() as there is no useful way to recover in such an event.
OK norby@
|
|
|
|
ok claudio@
|
|
OK henning@
|
|
only calculate the dirty ones.
ok claudio@
|
|
ok claudio@
|
|
MIN_LS_ARRIVAL. MIN_LS_ARRIVAL is used to limit the rate of incomming updates.
|
|
from time jumps.
|
|
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@
|
|
...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@
|
|
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@
|
|
|
|
|
|
This solves a bug that made it impossible to remove a LSA by premature aging.
OK norby@
|
|
new one and use the old one. This will reduce the amount of updates sent.
OK norby@
|
|
Actually remove summary LSA if the LSA they refer to are no longer valid.
Set correct cost on the summary LSA.
Announce type 4 summary LSA.
OK norby@
|
|
Also move the lsa_age() prototype to rde.h so that we can access it from
the SPF code.
OK norby@
|
|
to ospfctl.
Show detailed information about the LSAs in the Link State Database.
ok claudio@
|
|
|
|
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@
|
|
than before where it just failed to work.
|
|
|
|
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@
|
|
though the seq_num needs to be compared as signed number.
No idea how IETF came up with such a stupid idea especially because the
seq_num is not allowed to wrap.
requested by henning@ OK henning@
|
|
|
|
strict as possible. OK norby@
|
|
|
|
|
|
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@
|