From patchwork Tue Dec 27 19:34:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Linus_L=C3=BCssing?= X-Patchwork-Id: 18543 Return-Path: X-Original-To: patchwork@open-mesh.org Delivered-To: patchwork@open-mesh.org Received: from diktynna.open-mesh.org (localhost [IPv6:::1]) by diktynna.open-mesh.org (Postfix) with ESMTP id E0D70847BA; Tue, 27 Dec 2022 20:34:17 +0100 (CET) Received: from mail.aperture-lab.de (mail.aperture-lab.de [IPv6:2a01:4f8:c2c:665b::1]) by diktynna.open-mesh.org (Postfix) with ESMTPS id F1A8A80381 for ; Tue, 27 Dec 2022 20:34:14 +0100 (CET) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=open-mesh.org; s=20121; t=1672169655; h=from:from: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; bh=DZO12nqARGC+j2+PoDprOkGH+/Au3B7rgCItOJm/9oM=; b=ty8DxhGpr1Ve4xOSIo1am8niu6OGhl0bbCNAV2w40kH9oWDuezFyvewh6XzMdGFAWNSYgB tLe++aivedE6nPKng42G1I118xWZ/wu+obxw/BW42QBDDDxD/C+/tj/N5H9Rlf4ZbszyDI iqGDLP7mMSxU8QMx6B2AUV3PVQZd/6U= ARC-Authentication-Results: i=1; diktynna.open-mesh.org; dkim=none; dmarc=none; spf=none (diktynna.open-mesh.org: domain of linus.luessing@c0d3.blue has no SPF policy when checking 2a01:4f8:c2c:665b::1) smtp.mailfrom=linus.luessing@c0d3.blue ARC-Seal: i=1; s=20121; d=open-mesh.org; t=1672169655; a=rsa-sha256; cv=none; b=lvHUpNhnNXoutmguYjCeQr1L9yiIHMWCMb1+uuMHsHQZ5cjeNAtErZDCJqZuw36Lub2Geq s48/MFMT1XWNPNBlBmJToVgXXyZdEc+BbkqwQMKGBo802vchrxif5qejfr9reAne5Nz50N brRBgFNNDvSjrt4ufeADVyoBi5720G0= Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 6F5943EC76 for ; Tue, 27 Dec 2022 20:34:13 +0100 (CET) From: =?utf-8?q?Linus_L=C3=BCssing?= To: b.a.t.m.a.n@lists.open-mesh.org Subject: [PATCH v4 0/5] Implementation of a Stateless Multicast Packet Type Date: Tue, 27 Dec 2022 20:34:04 +0100 Message-Id: <20221227193409.13461-1-linus.luessing@c0d3.blue> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 Message-ID-Hash: OO74FAVSGPSIHNU6D6ZCEF2UJ35O667L X-Message-ID-Hash: OO74FAVSGPSIHNU6D6ZCEF2UJ35O667L X-MailFrom: linus.luessing@c0d3.blue X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-b.a.t.m.a.n.lists.open-mesh.org-0; header-match-b.a.t.m.a.n.lists.open-mesh.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking List-Id: The list for a Better Approach To Mobile Ad-hoc Networking Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Hi, The following patchset implements a stateless, TVLV capable batman-adv multicast packet type. The new batman-adv multicast packet type allows to contain several originator destination MAC addresses within a TVLV. Routers on the way will potentially split the batman-adv multicast packet and adjust its tracker TVLV contents. Routing decisions are still based on the selected BATMAN IV or BATMAN V routing algorithm. So this new batman-adv multicast packet type retains the same loop-free properties. The purpose of this new packet type is to allow to forward an IP multicast packet with less transmissions / overhead than the multicast-via-multiple-unicasts approach. Or to reach a lot more destinations (currently up to 196, depending on the payload size, see Wiki documentation for details) than with the default multicast fanout for the via-unicasts approach. This will allow using applications like mDNS again in several Freifunk communities. And with less transmissions will also make more bulky multicast applications, like media streaming (to an assessable amount of receivers) a lot more feasible. This approach is way simpler than the original multicast (tracker) packet approach we envisioned years ago. As it involves no maintenance of an extra, state based multicast routing table. However the TVLV capability should allow to extend things later, to split control and data plane a bit more for instance, to further increase the number of destinations, to further reduce overhead. A compact overview can be found in the Wiki here, including limitations: https://www.open-mesh.org/projects/batman-adv/wiki/Multicast-Packet-Type Regards, Linus