Actions
Bug #252
openTT: size check before local entry add is incorrect (not threadsafe?)
Start date:
05/15/2016
Due date:
% Done:
0%
Estimated time:
Description
Just tested TT with the Emulation_Debug environment. Two nodes were enabled and I've just send 3000 packets (different mac addresses) with the attached program to the other node. Then I can see that the remote node sends TT full table requests. But the node which send the 3000 packets never sends the response. The problem seems to be that the tvlv length is 31616 bytes (tvlv_len
in batadv_tt_prepare_tvlv_local_data) but this is larger than the maximum packet_size (bat_priv->packet_size_max
).
If you print the size check in batadv_tt_local_add right before the if (table_size > packet_size_max) {
then you can see that the transmission size jumps (each "foobar" is an add to the local table):
foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 116 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080 foobar 11156 22080
The test was started on my node1 via
insmod /host/batman-adv/net/batman-adv/batman-adv.ko /host/batctl/batctl ra BATMAN_IV /host/batctl/batctl if add eth0 ifconfig eth0 up ifconfig bat0 up # sleep 3 /host/batctl/batctl o /host/rawsend_massive bat0 02:ba:de:af:fe:02
Files
Actions