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 --]
next prev parent 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 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.