[Olsr-dev] Bug in edge detection
Hannes Gredler
(spam-protected)
Thu Sep 6 19:03:02 CEST 2007
On Thu, Sep 06, 2007 at 05:25:07PM +0200, Bernd Petrovitsch wrote:
| On Thu, 2007-09-06 at 17:08 +0200, Hannes Gredler wrote:
| [...]
| > i have recently stumbled on a interesting problem that causes
| > quite some inefficiency wrt malloc churn() and SPF calculations.
| >
| > it happens is when a TC message gets striped over two (or more) IP packets.
| > this is typically for a TC message at the MTU boundary of a OLSR packet.
|
| Hmm, what's in the RFC about this?
|
| [...]
| > patchset producing the debug output above is at
| > http://gredler.at/download/olsrd/inplace-spf-1.diff.gz
| >
| > any smart thoughts for a fix ? -
|
| Without time and without looking into code, only the generic ones:
|
| On the sender side: Don't send half TC packets.
hmmm not really an option ... what to do if the neighbor set > 1500 bytes.
just because of massive neighbors ?
| On the receiver side (which shouldn't be necessary with the above):
| Wait with the TC packet processing until we are sure that it is
| complete, e.g.
| if the next is already seen or some timeout.
what about this:
rather than deleting the edge we tweak T_time to an expired value (now_times -1).
if the neighbor set gets found when processing further packets then T_time
gets overwritten, otherwise it will get deleted when prcessing eventloop
next time.
/hannes
More information about the Olsr-dev
mailing list