[Berlin-wireless] next bug olsr dyngw plugin mit ff-luci auf kamikaze macht pingflood
Manuel Munz
freifunk
Di Nov 25 00:23:25 CET 2008
L. Aaron Kaplan wrote:
[...]
>
> Hm... wie koennen wir sonst den fehler noch finden?
> Koennt ihr mir mal verraten, welche version das jetzt war?
>
Hallo, hab eben auch nochmal mit 0.5.6-r2 von olsr.org getestet und der
Fehler lässt sich reproduzieren, wie in dem Bugreport auf
http://sourceforge.net/tracker/index.php?func=detail&aid=2119159&group_id=117612&atid=681702
beschrieben. (Soll man das noch benutzen dort?). Getestet hab ich auf
Debian Lenny auf nem i386 Laptop.
> Hm... in die function looped_checks springt er mit einem neuen thread.
> Also das ist der thread handler. Passt. Das problem ist natuerlich, wenn
> nanosleep zu kurz schlaeft, dann kostet dich der thread zu viel CPU.
> Das einzige, wo ich mir vorstellen kann, dass nanosleep unterbrochen
> wird, ist durch a) einen falschen timer bei dir am system (system clock
> spinnt herum) oder b) signal.
> Um das zu testen: kannst du mal ein
>
> perror ("nanosleep woke up");
>
>
> direkt hinter
>
> sleeptime_spec = remainder_spec;
>
> stellen?
>
> Also:
> while (nanosleep (&sleeptime_spec, &remainder_spec) < 0)
> {
> sleeptime_spec = remainder_spec;
> perror ("nanosleep woke up");
> }
>
> Und mir sagen, was der perror sagt?
>
> Vielleicht bringt uns das weiter.
>
== Olsrd debug output ==
Do ping on 141.1.1.1 ...
PING 141.1.1.1 (141.1.1.1) 56(84) bytes of data.
--- 141.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 51.186/51.186/51.186/0.000 ms
...OK
HNA[00000000/00000000](ping is possible) VIA eth0 detected in routing table.
nanosleep woke up: Illegal seek
Do ping on 141.1.1.1 ...
PING 141.1.1.1 (141.1.1.1) 56(84) bytes of data.
\
--- 141.1.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 55.206/55.206/55.206/0.000 ms
...OK
HNA[00000000/00000000](ping is possible) VIA eth0 detected in routing table.
nanosleep woke up: Illegal seek
== tcpdump -i eth0 host 141.1.1.1 ==
geht so ununterbrochen...
00:07:34.604585 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
8482, seq 1, length 64
00:07:34.612899 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
8738, seq 1, length 64
00:07:34.663961 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
8738, seq 1, length 64
00:07:34.671907 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
8994, seq 1, length 64
00:07:34.723830 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
8994, seq 1, length 64
00:07:34.732036 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
9250, seq 1, length 64
00:07:34.783007 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
9250, seq 1, length 64
00:07:34.790954 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
9506, seq 1, length 64
00:07:34.843323 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
9506, seq 1, length 64
00:07:34.851924 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
9762, seq 1, length 64
00:07:34.902468 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
9762, seq 1, length 64
00:07:34.910486 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
10018, seq 1, length 64
00:07:34.962329 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
10018, seq 1, length 64
00:07:34.970788 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
10274, seq 1, length 64
00:07:35.021743 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
10274, seq 1, length 64
00:07:35.030463 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
10530, seq 1, length 64
00:07:35.082321 IP cns1.cw.net > 192.168.1.123: ICMP echo reply, id
10530, seq 1, length 64
00:07:35.090615 IP 192.168.1.123 > cns1.cw.net: ICMP echo request, id
10786, seq 1, length 64
== /etc/olsrd.conf ==
Nur Interface geändert, HNA eingetragen und Dyngw aktiviert. Btw: Im
installierten config steht olsrd_dyn_gw.so.0.3, das muss man selbst noch
ändern.
DebugLevel 2
IpVersion 4
FIBMetric "flat"
ClearScreen yes
Hna4
{
0.0.0.0 0.0.0.0
}
Hna6
{
}
AllowNoInt yes
IpcConnect
{
MaxConnections 0
Host 127.0.0.1
}
UseHysteresis no
LinkQualityLevel 2
Pollrate 0.05
NicChgsPollInt 3.0
TcRedundancy 2
MprCoverage 3
LoadPlugin "olsrd_dyn_gw.so.0.4"
{
PlParam "Interval" "40"
PlParam "Ping" "141.1.1.1"
PlParam "Ping" "194.25.2.129"
}
Interface "wlan0"
{
HelloInterval 2.0
HelloValidityTime 20.0
TcInterval 5.0
TcValidityTime 30.0
MidInterval 5.0
MidValidityTime 30.0
HnaInterval 5.0
HnaValidityTime 30.0
}
hth, soma
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 197 bytes
Beschreibung: OpenPGP digital signature
URL : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20081125/30ad3d06/attachment.pgp>
Mehr Informationen über die Mailingliste Berlin