Message ID | 20190424011919.9821-1-linus.luessing@c0d3.blue (mailing list archive) |
---|---|
Headers |
Return-Path: <b.a.t.m.a.n-bounces@lists.open-mesh.org> X-Original-To: patchwork@open-mesh.org Delivered-To: patchwork@open-mesh.org Received: from open-mesh.org (localhost [IPv6:::1]) by open-mesh.org (Postfix) with ESMTP id E40228108D; Wed, 24 Apr 2019 03:19:27 +0200 (CEST) Authentication-Results: open-mesh.org; dkim=fail reason="key not found in DNS" (0-bit key; unprotected) header.d=c0d3.blue header.i=@c0d3.blue header.b="azH+4wpk"; dkim-atps=neutral Received-SPF: None (mailfrom) identity=mailfrom; client-ip=138.201.29.205; helo=mail.aperture-lab.de; envelope-from=linus.luessing@c0d3.blue; receiver=<UNKNOWN> Received: from mail.aperture-lab.de (mail.aperture-lab.de [138.201.29.205]) by open-mesh.org (Postfix) with ESMTPS id AC3E28098C for <b.a.t.m.a.n@lists.open-mesh.org>; Wed, 24 Apr 2019 03:19:25 +0200 (CEST) From: =?utf-8?q?Linus_L=C3=BCssing?= <linus.luessing@c0d3.blue> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c0d3.blue; s=2018; t=1556068764; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=2TuN8vMd5rTo2hcsA8/67laJjZlx3ms7tfGwbGfC+bQ=; b=azH+4wpkzkSfknRoaG5VhN5T9SKqbLwaMCvgekgxTwZ397cNHlPuKa1RGc9A2QvpofMgXc c3SeIx0iNRtTXLIPeLragH9XDgtntqkpXDCJmys64czugSZNNJGjYPaxyuVbgiEItd1tnj G+FaP9pDBogSTaelDMGkxTju3q4Tly0y2BzX92HFxhrO6rkM0pN49129ebQQgl3Dy57TWa a0Jt0Sb9L7qk3adewIIJnFIrrCmLq6n/1Lrfs2FxyqjoGebYI/Q5Cc71uw4HvQfyVqf69e qjQK+TUP1SIC8l99GlZM/ITCRIYP0ML0dRIiZvYBxpZUtdtZg3CfQLzp+No+CA== To: b.a.t.m.a.n@lists.open-mesh.org Date: Wed, 24 Apr 2019 03:19:13 +0200 Message-Id: <20190424011919.9821-1-linus.luessing@c0d3.blue> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=c0d3.blue; s=2018; t=1556068764; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=2TuN8vMd5rTo2hcsA8/67laJjZlx3ms7tfGwbGfC+bQ=; b=URKchin10c7v7Qx39uV3bAJsSqfum1AjzRYcnK/+FxASdGDF4y/0x9jTQUiQxMj+pYWDwc 3qAC7Eg+dToo7BI3+2QS/lJnPrCgZZoo1eMcfOzgQikk04A/ZPLahHoX4VIq7+l4voXXIq jMTwzetWvDIkrvhf2HqWzhTEVUS1k29dhAsS9wnmH8ZOgFocMACyGM8+OeyMJzoFBf6lOy 5+jGPUZScTeLny/KlzxpIIbZ07rHYh17x9DMW0K9QAHt1lob0KjEEFkIZV0/CP4Tbh9oN7 MXJfVgPxT1rdmmr5Gt8ULBwZ4vN0z5WPGhvk4zJUuh7ZdrTxcrq330Brd9iQPg== ARC-Seal: i=1; s=2018; d=c0d3.blue; t=1556068764; a=rsa-sha256; cv=none; b=mXB879VynnqT/8KJbEJAgVYE1qgIIoEDj1aMrqUA1yO1enrqsdF2+luYVDW36CuVo3EUL7 iB+W+0Zy/tD5Yf9qZ7aHj6uNg+zzQ5yE6VNPsc27qiPE8wrY64IMsA7tbxqeJLtCb1DhVB 7zH9vN0F0UpYTvZ3Ha0lxSQ8kVAbKK+UgL/VmBK5szJ5stj/9s5XURhxMozjuMNtoDEPMp K3NfJ19UbJsgzu3vNkJ7/unyC9070WsfcAyWPdjSao+cWmIwsBxK0vsFyEuRKw+uzAJNu2 6MARod4POv6fk5o+BBQvnz4uRpP5pjyqXFJViruT/TyC3uvgJGI721T0RT41uQ== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=linus.luessing@c0d3.blue smtp.mailfrom=linus.luessing@c0d3.blue Authentication-Results: ORIGINATING; auth=pass smtp.auth=linus.luessing@c0d3.blue smtp.mailfrom=linus.luessing@c0d3.blue Subject: [B.A.T.M.A.N.] [PATCH 0/6] batman-adv: Add routeable multicast optimizations X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The list for a Better Approach To Mobile Ad-hoc Networking <b.a.t.m.a.n.lists.open-mesh.org> List-Unsubscribe: <https://lists.open-mesh.org/mm/options/b.a.t.m.a.n>, <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=unsubscribe> List-Archive: <http://lists.open-mesh.org/pipermail/b.a.t.m.a.n/> List-Post: <mailto:b.a.t.m.a.n@lists.open-mesh.org> List-Help: <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=help> List-Subscribe: <https://lists.open-mesh.org/mm/listinfo/b.a.t.m.a.n>, <mailto:b.a.t.m.a.n-request@lists.open-mesh.org?subject=subscribe> Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking <b.a.t.m.a.n@lists.open-mesh.org> Errors-To: b.a.t.m.a.n-bounces@lists.open-mesh.org Sender: "B.A.T.M.A.N" <b.a.t.m.a.n-bounces@lists.open-mesh.org> |
Series |
batman-adv: Add routeable multicast optimizations
|
|
Message
Linus Lüssing
April 24, 2019, 1:19 a.m. UTC
The following patchset fills the next gaps in the multicast address rules page by adding support for group-aware optimizations for multicast addresses of scope greater than link-local. So far, only link-local addresses were optimized as packets with routeable addresses not only need to be forwarded to local multicast listeners but also multicast routers. "Handling rules depending on multicast address:" [0] Before: * Ipv4, link-local: supported without bridges * IPv6, link-local: supported * IPv4, routeable: support planned. * IPv6, routeable: support planned. After: * Ipv4, link-local: supported without bridges * IPv6, link-local: supported * IPv4, routeable: supported without bridges. * IPv6, routeable: supported. The first patch is a fix for the maint branch addressing tickets #369 and #370. Then patches 2 to 4 are basically some cleanups and restructuring of the current code. Patch 5 adds the detection of multicast routers and announces that via two new flags in its multicast TVLV. TVLV receivers will memorize this and fill lists similar to how we already do for the WANT_ALL_IPV4/IPV6 flags. Currently the detection for bridged-in IPv6 multicast routers is not quite what the RFC for multicast router discovery suggests. But once the MRD implementation in the Linux bridge has matured a bit, I'm going to swap this simplified approach with tapping into the bridge once more, asking the bridge for the presence of multicast routers on the link. (This will then also add support for "IPv4, routeable, with bridges") Finally, patch 6 implements the changes to the forwarding plane, utilizing the new information we have gathered with patch 5. Regards, Linus [0]: https://www.open-mesh.org/projects/batman-adv/wiki/Multicast-optimizations-tech#Handling-rules-depending-on-multicast-address
Comments
On Wednesday, 24 April 2019 03:19:13 CEST Linus Lüssing wrote: > The following patchset fills the next gaps in the multicast address > rules page by adding support for group-aware optimizations for > multicast addresses of scope greater than link-local. So far, only > link-local addresses were optimized as packets with routeable > addresses not only need to be forwarded to local multicast listeners > but also multicast routers. [...] I get a lot of build errors when trying to build these patches. Here is the complete list, including warnings of other build tests: Output of different failed tests ================================ ecsv/pu: checkpatch ./net/batman-adv/multicast.c ------------------------------------------------ CHECK: Blank lines aren't necessary before a close brace '}' #791: FILE: ./net/batman-adv/multicast.c:791: + +} WARNING: Block comments should align the * on each line #799: FILE: ./net/batman-adv/multicast.c:799: + * capabilities and inabilities. + */ total: 0 errors, 1 warnings, 1 checks, 2368 lines checked ecsv/pu: headers ---------------- diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c index ca4898d3..f106728b 100644 --- a/net/batman-adv/multicast.c +++ b/net/batman-adv/multicast.c @@ -23,7 +23,6 @@ #include <linux/inetdevice.h> #include <linux/ip.h> #include <linux/ipv6.h> -#include <linux/jiffies.h> #include <linux/kernel.h> #include <linux/kref.h> #include <linux/list.h> ecsv/pu: kerneldoc ./net/batman-adv/multicast.c ----------------------------------------------- ./net/batman-adv/multicast.c:803: warning: Function parameter or member 'flags' not described in 'batadv_mcast_mla_flags_update' ecsv/pu: kerneldoc ./net/batman-adv/types.h ------------------------------------------- ./net/batman-adv/types.h:1200: warning: Function parameter or member 'tvlv_flags' not described in 'batadv_mcast_mla_flags' ecsv/pu: kerneldoc include/uapi/linux/batadv_packet.h ----------------------------------------------------- include/uapi/linux/batadv_packet.h:124: warning: Enum value 'BATADV_MCAST_WANT_ALL_RTR6' not described in enum 'batadv_mcast_flags' include/uapi/linux/batadv_packet.h:124: warning: Excess enum value 'BATADV_MCAST_NO_WANT_ALL_RTR6' description in 'batadv_mcast_flags' ecsv/pu: sparse linux-3.18 cfg: BLA=y DAT=y DEBUGFS=y DEBUG=y TRACING=n NC=n MCAST=y BATMAN_V=n SYSFS=n --------------------------------------------------------------------------- In file included from /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/main.h:216:0, from /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/bat_algo.c:7: /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/types.h:1255:13: error: duplicate member ‘mla_lock’ spinlock_t mla_lock; ^~~~~~~~ make[3]: *** [/home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/bat_algo.o] Error 1 make[2]: *** [/home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv] Error 2 make[1]: *** [_module_/home/build_test/build_env/tmp.2gwYBLVNdO] Error 2 make: *** [all] Error 2 ecsv/pu: sparse linux-4.14.104 cfg: BLA=y DAT=y DEBUGFS=y DEBUG=n TRACING=y NC=n MCAST=y BATMAN_V=y SYSFS=y --------------------------------------------------------------------------- In file included from /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/main.h:216:0, from /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/bat_algo.c:7: /home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/types.h:1255:13: error: duplicate member ‘mla_lock’ spinlock_t mla_lock; ^~~~~~~~ make[3]: *** [/home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv/bat_algo.o] Error 1 make[2]: *** [/home/build_test/build_env/tmp.2gwYBLVNdO/net/batman-adv] Error 2 make[1]: *** [_module_/home/build_test/build_env/tmp.2gwYBLVNdO] Error 2 make: *** [all] Error 2 Kind regards, Sven
On Sun, May 05, 2019 at 07:37:48PM +0200, Sven Eckelmann wrote: > ecsv/pu: headers > ---------------- > > diff --git a/net/batman-adv/multicast.c b/net/batman-adv/multicast.c > index ca4898d3..f106728b 100644 > --- a/net/batman-adv/multicast.c > +++ b/net/batman-adv/multicast.c > @@ -23,7 +23,6 @@ > #include <linux/inetdevice.h> > #include <linux/ip.h> > #include <linux/ipv6.h> > -#include <linux/jiffies.h> > #include <linux/kernel.h> > #include <linux/kref.h> > #include <linux/list.h> I did not make any changes to this as I believe jiffies.h is still needed for msecs_to_jiffies()? The rest should be addressed in the new patchsets.