[B.A.T.M.A.N.] Roaming issues in basic network

Simon Wong
2014-07-01T02:22:51Z

Hi list,

I'm new to batman-adv, and I'm setting up some basic tests to verify
my use case. I'm running into a roaming issue.

Consider a basic 2 node network running batman-adv 2014.2 with default
settings on OpenWRT AA. Let the routing nodes be A and B. Each node
has 2 wireless interfaces. wlan0 is for the mesh, and wlan0 is AP. The
interfaces are bridged per the batman start guide.

Let there be 2 wifi clients, client 1 and 2. Initially, both clients
are wirelessly attached to node A. Client 2 can ping 1 and the nodes.
Client 2 can also Telnet into node A and B, so all is fine.

I take client 2 and roam to node B. Client 2 can no longer ping client
1 and that is the issue.

If 2 roamed back to A, pings to 1 is good again. A few more
observations while pings are no good:

1) Client 2 can ping the nodes and the Telnet sessions to the nodes are fine.
2) Node B local translation table says 2 is at B, node A local
translation table says 1 is at A. So the local translation tables
check out.
3) Both nodes A and B can ping client 1, so client 1 is still up.
4) Running 'batctl td wlan1' on node 1 shows ICMP requests and
replies, but 'batctl td bat0' shows only requests. So client 1 is
getting the ICMP packets and is responding.
5) If I ran 'iw wlan1 station del <client 2 mac>' on node 1, pings
will work again.

It almost looks like the wifi driver (ath5k) is blocking data for
roamed clients that was once attached to it. So this issue might not
be a batman but a driver thing. Has anyone ran into this problem?

Thanks,

Simon