On Tue, 2018-10-23 at 11:02 +0800, gary wrote:
Hi Jon,
Long for your fix. Thanks.
It's still at least a week or so out...
I have a doubt for the issue. Alfred should send the info by multicast packets. So the packet's dst mac address should be multicast mac address. The packet with multicast mac address should be received by all group member, isn't it? Why does the mesh point need peer's mac address for sending the info?
The rest of the devs may be able to answer better, but I believe it is how alfred does its data storage and mapping of the source. When I looked at this a few months ago the way it was using the ARP table to pull the MAC address didn't work right and required a separate ARP request to have it work properly.
When I have a chance to dig back into it and develop the fix I can provide more details, but that's what I recall right now. It didn't make sense to me at first either based on the symptoms, but when I dug through the code I realized that was what was required and just didn't have time to put the fix in then.
-----Original Message----- From: Jonathan Haws jhaws@sdl.usu.edu Sent: 2018年10月23日 1:36 To: sven@narfation.org Cc: b.a.t.m.a.n@lists.open-mesh.org; guohuizou2000@sina.com Subject: Re: [B.A.T.M.A.N.] alfred and batadv-vis issue
On Thu, 2018-10-18 at 08:22 +0200, Sven Eckelmann wrote:
On Donnerstag, 18. Oktober 2018 13:53:44 CEST gary wrote:
I setup a testbed like this. (BBN = backbone node)
Switch ---------->BBN1 --------------->MP1 | ------->BBN2---------------->MP2
MP1 and MP2 may select BBN1 or BBN2 as gateway. On both MP1 and MP2, I enable Alfred and batadv-vis as follows: alfred -i br0 -4 224.0.0.1 -m & batadv-vis -i bat0 -s
Looks like you are using the experimental IPv4 support which I don't want to actively support. So Jonathan Haws should take care of this.
I am aware of this issue, but was under the impression I was the only one it affected. I'm working on a fix (basically check the ARP table and if a record doesn't exist for the MAC then run an ARP query; if that query fails then report a error) and I hope to have it working soon.
when I run batadv-vis again on MP1, I can't get the info from MP2. If I ping the ip address of MP2 from MP1, MP1 will get MP2's mac address by arp. And then I run batadv-vis again, I can get the data from MP2 now.
Is there any configure or method to get MP2's info without ping test?
We have been working around this issue in the same manner as you describe for the time being.
Thanks, Jon