[Olsr-dev] loss_link_quality calculation

Eric Lammerts (spam-protected)
Tue May 29 23:59:32 CEST 2007


Hi,
can anybody tell me what the idea behind this loss_link_quality
calculation in link_set.c is?

entry->loss_link_quality =
  (float)(entry->total_packets - entry->lost_packets) /
  (float)(entry->loss_window_size < (2 * 4) ? entry->loss_window_size:
  4 * ((entry->loss_window_size / 4 - 1) * entry->total_packets +
entry->loss_window_size) / entry->loss_window_size);

this was changed in CVS v1.65, it used to simply be:

entry->loss_link_quality =
   (float)(entry->total_packets - entry->lost_packets) /
   (float)(entry->loss_window_size);

The reason I ask is that I'm having some problems with olsrd 0.5.0. I
have a network with some wireless nodes, and a few nodes that have both
wireless and ethernet. On the ethernet I see ETX numbers like 17.19 and
3.29 (!!!), even though the ethernet has no packet loss at all.

My config is:

AllowNoInt yes
DebugLevel 1
IpVersion 4
LinkQualityDijkstraLimit 0 9.0
LinkQualityFishEye 0
LinkQualityLevel 2
LinkQualityWinSize 10
MprCoverage 3
Pollrate 0.1
TcRedundancy 2
UseHysteresis no
Willingness 4

Interface  "ath0" "eth0"
{
        Ip4Broadcast       255.255.255.255
        HelloInterval      6.0
        HelloValidityTime  90.0
        TcInterval         3.0
        TcValidityTime     300.0
        MidInterval        15.0
        MidValidityTime    300.0
        HnaInterval        15.0
        HnaValidityTime    90.0
}

I always run the same olsrd and the same parameters on all nodes.

I know I have FishEye off, but my network is currently pretty small (<= 3
 hops max) so I don't think that should matter.

I changed the calculation back to the old one, and now the ETX on all my
ethernet links is 1.00. The network is also much more stable on the
wireless connections.

thanx

Eric




More information about the Olsr-dev mailing list