b.a.t.m.a.n.lists.open-mesh.org archive mirror
 help / color / mirror / Atom feed
From: Sven Eckelmann <sven@narfation.org>
To: b.a.t.m.a.n@lists.open-mesh.org
Cc: "Linus Lüssing" <linus.luessing@c0d3.blue>
Subject: Re: [PATCH maint v3 1/3] batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN
Date: Mon, 14 Sep 2020 20:12:01 +0200	[thread overview]
Message-ID: <2021746.X5qYlJs30q@sven-edge> (raw)
In-Reply-To: <20200914012136.5278-2-linus.luessing@c0d3.blue>

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

On Monday, 14 September 2020 03:21:34 CEST Linus Lüssing wrote:
> Scenario:
> * Multicast frame send from a BLA backbone (multiple nodes with
>   their bat0 bridged together, with BLA enabled)
> 
> Issue:
> * BLA backbone nodes receive the frame multiple times on bat0
> 
> For multicast frames received via batman-adv broadcast packets the
> originator of the broadcast packet is checked before decapsulating and
> forwarding the frame to bat0 (batadv_bla_is_backbone_gw()->
> batadv_recv_bcast_packet()). If it came from a node which shares the
> same BLA backbone with us then it is not forwarded to bat0 to avoid a
> loop.
> 
> When sending a multicast frame in a non-4-address batman-adv unicast
> packet we are currently missing this check - and cannot do so because
> the batman-adv unicast packet has no originator address field.
> 
> However, we can simply fix this on the sender side by only sending the
> multicast frame via unicasts to interested nodes which do not share the
> same BLA backbone with us. This also nicely avoids some unnecessary
> transmissions on mesh side.
> 
> Note that no infinite loop was observed, probably because of dropping
> via batadv_interface_tx()->batadv_bla_tx(). However the duplicates still
> utterly confuse switches/bridges, ICMPv6 duplicate address detection and
> neighbor discovery and therefore leads to long delays before being able
> to establish TCP connections, for instance. And it also leads to the Linux
> bridge printing messages like:
> "br-lan: received packet on eth1 with own address as source address ..."
> 
> Fixes: 405cc1e5a81e ("batman-adv: Modified forwarding behaviour for multicast packets")
> Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
> ---


Sorry, but doesn't build cleanly:

    make[1]: Leaving directory '/home/build_test/build_env/linux-build/linux-5.6'
    /home/build_test/build_env/tmp.3Iw5SQ84oz/net/batman-adv/soft-interface.c:367:31: error: undefined identifier 'batadv_mcast_forw_send_orig'
    /home/build_test/build_env/tmp.3Iw5SQ84oz/net/batman-adv/soft-interface.c: In function ‘batadv_interface_tx’:
    /home/build_test/build_env/tmp.3Iw5SQ84oz/net/batman-adv/soft-interface.c:367:10: error: implicit declaration of function ‘batadv_mcast_forw_send_orig’; did you mean ‘batadv_mcast_forw_send’?
     [-Werror=implicit-function-declaration]
        ret = batadv_mcast_forw_send_orig(bat_priv, skb, vid,
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
              batadv_mcast_forw_send
    cc1: some warnings being treated as errors
    make[3]: *** [scripts/Makefile.build:268: /home/build_test/build_env/tmp.3Iw5SQ84oz/net/batman-adv/soft-interface.o] Error 1
    make[2]: *** [scripts/Makefile.build:505: /home/build_test/build_env/tmp.3Iw5SQ84oz/net/batman-adv] Error 2
    make[1]: *** [Makefile:1683: /home/build_test/build_env/tmp.3Iw5SQ84oz] Error 2
    make: *** [Makefile:74: all] Error 2

It was tried to build with:

    /usr/bin/make -C /home/build_test/build_env/linux-build/linux-5.6 M=/home/build_test/build_env/tmp.3Iw5SQ84oz PWD=/home/build_test/build_env/tmp.3Iw5SQ84oz REVISION= CONFIG_BATMAN_ADV=m CONFIG_BATMAN_ADV_DEBUG=y CONFIG_BATMAN_ADV_DEBUGFS=n CONFIG_BATMAN_ADV_BLA=n CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=n CONFIG_BATMAN_ADV_SYSFS=n CONFIG_BATMAN_ADV_TRACING=n CONFIG_BATMAN_ADV_BATMAN_V=n INSTALL_MOD_DIR=updates/    modules

Kind regards,
	Sven

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-09-14 18:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14  1:21 [PATCH maint v3 0/3] batman-adv: mcast: BLA fixes Linus Lüssing
2020-09-14  1:21 ` [PATCH maint v3 1/3] batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN Linus Lüssing
2020-09-14 18:12   ` Sven Eckelmann [this message]
2020-09-14  1:21 ` [PATCH maint v3 2/3] batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh Linus Lüssing
2020-09-14  1:21 ` [PATCH maint v3 3/3] batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh Linus Lüssing
2020-09-14 19:12   ` Sven Eckelmann
2020-09-14 18:31 ` [PATCH maint v3 0/3] batman-adv: mcast: BLA fixes Sven Eckelmann

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=2021746.X5qYlJs30q@sven-edge \
    --to=sven@narfation.org \
    --cc=b.a.t.m.a.n@lists.open-mesh.org \
    --cc=linus.luessing@c0d3.blue \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).