On Sun, Mar 14, 2010 at 01:04:10PM +0100, Sven Eckelmann wrote:
Thanks for testing the code. I doubt that this is a bug in the batman-adv code. Can you please make a capture of the raw packet data using tcpdump and/or wireshark? I think that this is a batctl bug, but I don't have time to check it right now. You can do the comparison by yourself using the wireshark-batman-adv dissector linked in the open-mesh.net wiki.
Just checked the output of a uml tcpdump versus a tcpdump of the corresponding tap device on the host. The result on the host ist correct and the output from the uml has the two bytes from the sequence number exchanged. So it seems that the skb is changed without cloning the data which is changed.
The problem appears when data is resend by the other node and we retreive them. It doesn't seem to happen when we receive data from the other node with the originator also being the other node. This is not the data the network really sees - only tcpdump will see it.
So it is real a problem with batman-adv and not batctl (the code of batctl isn't that complex that it could create such a problem).
Best regards, Sven