All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antonio Quartulli <antonio@meshcoding.com>
To: The list for a Better Approach To Mobile Ad-hoc Networking
	<b.a.t.m.a.n@lists.open-mesh.org>
Subject: Re: [B.A.T.M.A.N.] DAT broken in 2014.4.0?
Date: Thu, 19 Mar 2015 07:10:07 +0100	[thread overview]
Message-ID: <550A683F.30001@meshcoding.com> (raw)
In-Reply-To: <OF67DD2D01.84CED6E1-ONC1257E0C.0039329E-C1257E0C.003B181B@phoenixcontact.com>

[-- Attachment #1: Type: text/plain, Size: 2429 bytes --]



On 18/03/15 11:45, Andreas Pape wrote:
> In the meantime I digged a little deeper into this. DAT as such works but 
> has some side effects on the backbone network in a setup like mine with 
> several mesh nodes connected to the same backbone network and bla enabled. 
> I see two main issues:
> 
> 1. The original broadcast ARP request sent by the PC is looping back into 
> the backbone network. As far as I have figured out this comes from the 
> encapsulation of the original ARP broadcast into a BATADV_UNICAST_4ADDR 
> frame, which is not handled by the bla code responsible for preventing 
> looping broadcasts as for bla this is a unicast frame.

Good point.

> 2. All ARP replies are forwarded into the backbone by all possible 
> gateways. If a gateway gets responses of up to 3 remote dat candidates, 
> the total number of seen arp replies becomes 3 times the number of 
> gateways used.
> 

This is probably a consequence of point 1, right ?

> I am not sure, if this is specific to the old kernel version I used, but I 
> tried to overcome the two mentioned points with the following measures:
> 1. drop BATADV_UNICAST_4ADDR DHT_GET frames received from another gateway 
> as long as we cannot answer the forwarded arp request.
> 2. make sure, that only a gateway which has claimed the src mac of an arp 
> reply forwards this reply to the backbone network
> 3. drop received arp replies as soon as we have a local dat entry for the 
> src mac of the arp reply. In this case it is most likely that the device 
> has already sent a reply.
> 
> With these measures I see a "clean" arp request / reply behaviour in the 
> backbone network. As a further improvement I added the snooping of all 
> incoming IP traffic on the mesh soft interface. I use the src mac and src 
> IP to update the local dat cache. I wanted to achieve as low arp 
> request/reply and connected broadcast traffic in the mesh as possible.
> 
> If there is interest I could send a patch file to the mailing list with 
> the changes based on the batman-adv git master. But I warn you in front: I 
> am not a very skilled kernel programmer nor do I have any experience in 
> using git ;-) 

I am not I understand 100% your proposed solution, but a patch is worth
thousand words :)
Please do send it..and don't worry about your skill, everybody has to start!

Regards,

-- 
Antonio Quartulli


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

      reply	other threads:[~2015-03-19  6:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-13  7:28 [B.A.T.M.A.N.] DAT broken in 2014.4.0? Andreas Pape
2015-03-13 11:52 ` Antonio Quartulli
2015-03-13 14:35   ` Andreas Pape
2015-03-18 10:45     ` Andreas Pape
2015-03-19  6:10       ` Antonio Quartulli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=550A683F.30001@meshcoding.com \
    --to=antonio@meshcoding.com \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.