Age | Commit message (Collapse) | Author |
|
|
|
|
|
ok claudio@
|
|
|
|
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@
|
|
|
|
id and adv router as hash and that resulted and weird behaviour. Because the
age was not used in the compare it was almost impossible to MAXAGE some
LSAs in busy networks. The result was a slowly growing retransmission queue
and an ospf engine spending way to much time traversing these sometimes huge
queues. Now we just hash the full lsa_hdr and so age is included.
Additionally correctly age LSAs in the retransmission queues.
ok ok ok ok ok ok and a lot of help (plus a busy OSPF network) norby@
|
|
|
|
are present on it.
ok claudio@
|
|
and remove other unneeded functions that are only used in bgpd.
|
|
ok claudio@
|
|
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@
|
|
|
|
|
|
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@
|
|
|
|
|
|
|
|
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@
|
|
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@
|
|
|
|
ok claudio@
|
|
|
|
ok claudio@
|
|
OK norby@
|
|
From Jason Ackley (thanks).
ok claudio@
|
|
ok claudio@
|
|
needs to be handled specially because the backup DR does not send acks and
so his retransmission queue fills up and does not get cleared.
Also implement the retransmission timeout correctly.
OK henning@ norby@ deraadt@
|
|
|
|
no matter what. This solves an issue where self originated updates
where not flooded because the router was the DR.
|
|
|
|
do with this software, just happend to be my only valid email address at
the time.
|
|
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@
|