From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 9920F3CB41 for ; Sat, 30 Oct 2021 13:17:16 -0400 (EDT) Received: by mail-ed1-x530.google.com with SMTP id 5so48459363edw.7 for ; Sat, 30 Oct 2021 10:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6aRSj/oerlsQ+wLxSGi2jthrjidHOxAKA1sPgUMlp1k=; b=bWlPonVsgiiWTQlji5qmuuAYRKgpo7ZFCpGJj4O4Oz9B8M8QO1XTZzvp/+unakMjFY IathauEm//WcxHkkZU9pFggXBUj8K4C6hqICu0F35NqB/i+0WV1VFCLqC9w7H+tlQYYF HZf96HY3BIycQPhv5X0GQsPI61gDjqlAse9Do= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=6aRSj/oerlsQ+wLxSGi2jthrjidHOxAKA1sPgUMlp1k=; b=QAGzK/iScBhvmKphYHjRAIeEzI4MvfXZ4T8nmPUdK7g5MV7uhx6IQQpKNcbSAXjl26 UZHhio65GYmCfpqUVbOsEL+qczzBghucMhSMkr5nUTj3zOd11EVzIcF15is7lcG25NTm YCqm2pm6NhW0qC9o2KMLvgZvAiEZQEd7Q+C05AYdIk1c7SHCkODiqJmiT/UDuGrHTLJd 5NsvQrKKcJjftxyWX+VbiMk41/De/9pm2Z7k4MEhK759Ts8RYMCmy/tYax82eZfAz38I qBc/T7zFWmvyiaBK19Ilrs2+H9lKeMI49pXMKanrF7a6PDKunV8P1kzGdhcL6eZ+Jbwp 8kiA== X-Gm-Message-State: AOAM532sQkX2KBM0di17YkSBV9jJTvqOKhNrayHO+8VWMCmsSQTfhoFU SFFJ8k9pFvZPIe7NNoEE8VVRmSZe9cT3tTMTlYypC9XoJ9tDomq8h2PQjpGpIgNIn3iExmtj+Tp CDBxUdsZOEiROAkTTPi+xaDb+4ZC6IUWoB0P6ar9HcA== X-Google-Smtp-Source: ABdhPJyIWhMhblbphwiOXJ/Cc/Qkf0ndUMcl+1CG6oqRc/JHFgqvoA6Sj002cpWIM1aMtV06q+kG07q8/uAhHBL1zUo= X-Received: by 2002:a17:907:b0f:: with SMTP id h15mr15848840ejl.498.1635614235291; Sat, 30 Oct 2021 10:17:15 -0700 (PDT) MIME-Version: 1.0 References: <20211030123921.29672-1-ap420073@gmail.com> In-Reply-To: From: Bob McMahon Date: Sat, 30 Oct 2021 10:17:04 -0700 Message-ID: To: Dave Taht Cc: Cake List , ECN-Sane , Make-Wifi-fast Content-Type: multipart/alternative; boundary="0000000000007c3a8505cf951d9d" Subject: Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) X-BeenThere: make-wifi-fast@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Oct 2021 17:17:16 -0000 --0000000000007c3a8505cf951d9d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable As an FYI, iperf 2 supports both source specific and standard multicast joins. I think this one of the few open source traffic tools that supports multicast testing. Bob On Sat, Oct 30, 2021 at 7:24 AM Dave Taht wrote: > This should be "fun". > > ---------- Forwarded message --------- > From: Taehee Yoo > Date: Sat, Oct 30, 2021 at 5:42 AM > Subject: [PATCH net-next v5 0/5] amt: add initial driver for Automatic > Multicast Tunneling (AMT) > To: , , , > > Cc: , > > > This is an implementation of AMT(Automatic Multicast Tunneling), RFC 7450= . > https://datatracker.ietf.org/doc/html/rfc7450 > > This implementation supports IGMPv2, IGMPv3, MLDv1, MLDv2, and IPv4 > underlay. > > Summary of RFC 7450 > The purpose of this protocol is to provide multicast tunneling. > The main use-case of this protocol is to provide delivery multicast > traffic from a multicast-enabled network to sites that lack multicast > connectivity to the source network. > There are two roles in AMT protocol, Gateway, and Relay. > The main purpose of Gateway mode is to forward multicast listening > information(IGMP, MLD) to the source. > The main purpose of Relay mode is to forward multicast data to listeners. > These multicast traffics(IGMP, MLD, multicast data packets) are tunneled. > > Listeners are located behind Gateway endpoint. > But gateway itself can be a listener too. > Senders are located behind Relay endpoint. > > ___________ _________ _______ ________ > | | | | | | | | > | Listeners <-----> Gateway <-----> Relay <-----> Source | > |___________| |_________| |_______| |________| > IGMP/MLD---------(encap)-----------> > <-------------(decap)--------(encap)------Multicast Data > > Usage of AMT interface > 1. Create gateway interface > ip link add amtg type amt mode gateway local 10.0.0.1 discovery 10.0.0.2 = \ > dev gw1_rt gateway_port 2268 relay_port 2268 > > 2. Create Relay interface > ip link add amtr type amt mode relay local 10.0.0.2 dev relay_rt \ > relay_port 2268 max_tunnels 4 > > v1 -> v2: > - Eliminate sparse warnings. > - Use bool type instead of __be16 for identifying v4/v6 protocol. > > v2 -> v3: > - Fix compile warning due to unsed variable. > - Add missing spinlock comment. > - Update help message of amt in Kconfig. > > v3 -> v4: > - Split patch. > - Use CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY. > - Fix compile error. > > v4 -> v5: > - Remove unnecessary rcu_read_lock(). > - Remove unnecessary amt_change_mtu(). > - Change netlink error message. > - Add validation for IFLA_AMT_LOCAL_IP and IFLA_AMT_DISCOVERY_IP. > - Add comments in amt.h. > - Add missing dev_put() in error path of amt_newlink(). > - Fix typo. > - Add BUILD_BUG_ON() in amt_smb_cb(). > - Use macro instead of magic values. > - Use kzalloc() instead of kmalloc(). > - Add selftest script. > > Taehee Yoo (5): > amt: add control plane of amt interface > amt: add data plane of amt interface > amt: add multicast(IGMP) report message handler > amt: add mld report message handler > selftests: add amt interface selftest script > > MAINTAINERS | 8 + > drivers/net/Kconfig | 16 + > drivers/net/Makefile | 1 + > drivers/net/amt.c | 3290 ++++++++++++++++++++++++++ > include/net/amt.h | 386 +++ > include/uapi/linux/amt.h | 62 + > tools/testing/selftests/net/Makefile | 1 + > tools/testing/selftests/net/amt.sh | 284 +++ > tools/testing/selftests/net/config | 1 + > 9 files changed, 4049 insertions(+) > create mode 100644 drivers/net/amt.c > create mode 100644 include/net/amt.h > create mode 100644 include/uapi/linux/amt.h > create mode 100644 tools/testing/selftests/net/amt.sh > > -- > 2.17.1 > > > > -- > Fixing Starlink's Latencies: https://www.youtube.com/watch?v=3Dc9gLo6Xrwg= w > > Dave T=C3=A4ht CEO, TekLibre, LLC > _______________________________________________ > Make-wifi-fast mailing list > Make-wifi-fast@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/make-wifi-fast --=20 This electronic communication and the information and any files transmitted= =20 with it, or attached to it, are confidential and are intended solely for=20 the use of the individual or entity to whom it is addressed and may contain= =20 information that is confidential, legally privileged, protected by privacy= =20 laws, or otherwise restricted from disclosure to anyone else. If you are=20 not the intended recipient or the person responsible for delivering the=20 e-mail to the intended recipient, you are hereby notified that any use,=20 copying, distributing, dissemination, forwarding, printing, or copying of= =20 this e-mail is strictly prohibited. If you received this e-mail in error,= =20 please return the e-mail to the sender, delete it from your computer, and= =20 destroy any printed copy of it. --0000000000007c3a8505cf951d9d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
As an FYI, iperf 2 supports both source specific=C2= =A0and standard multicast joins. I think this one of the few open source tr= affic tools that supports multicast testing.

Bob

On Sat, Oct 30= , 2021 at 7:24 AM Dave Taht <dave.taht@gmail.com> wrote:
This should be "fun".

---------- Forwarded message ---------
From: Taehee Yoo <ap420073@gmail.com>
Date: Sat, Oct 30, 2021 at 5:42 AM
Subject: [PATCH net-next v5 0/5] amt: add initial driver for Automatic
Multicast Tunneling (AMT)
To: <davem@dave= mloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>,
<netdev@vger= .kernel.org>
Cc: <dkirjanov@su= se.de>, <= ap420073@gmail.com>


This is an implementation of AMT(Automatic Multicast Tunneling), RFC 7450.<= br> https://datatracker.ietf.org/doc/html/rfc7450

This implementation supports IGMPv2, IGMPv3, MLDv1, MLDv2, and IPv4
underlay.

=C2=A0Summary of RFC 7450
The purpose of this protocol is to provide multicast tunneling.
The main use-case of this protocol is to provide delivery multicast
traffic from a multicast-enabled network to sites that lack multicast
connectivity to the source network.
There are two roles in AMT protocol, Gateway, and Relay.
The main purpose of Gateway mode is to forward multicast listening
information(IGMP, MLD) to the source.
The main purpose of Relay mode is to forward multicast data to listeners. These multicast traffics(IGMP, MLD, multicast data packets) are tunneled.
Listeners are located behind Gateway endpoint.
But gateway itself can be a listener too.
Senders are located behind Relay endpoint.

=C2=A0 =C2=A0 ___________=C2=A0 =C2=A0 =C2=A0 =C2=A0_________=C2=A0 =C2=A0 = =C2=A0 =C2=A0_______=C2=A0 =C2=A0 =C2=A0 =C2=A0________
=C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2= =A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 |
=C2=A0 =C2=A0| Listeners <-----> Gateway <-----> Relay <----= -> Source |
=C2=A0 =C2=A0|___________|=C2=A0 =C2=A0 =C2=A0|_________|=C2=A0 =C2=A0 =C2= =A0|_______|=C2=A0 =C2=A0 =C2=A0|________|
=C2=A0 =C2=A0 =C2=A0 IGMP/MLD---------(encap)----------->
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<-------------(decap)--------(encap)--= ----Multicast Data

=C2=A0Usage of AMT interface
1. Create gateway interface
ip link add amtg type amt mode gateway local 10.0.0.1 discovery 10.0.0.2 \<= br> dev gw1_rt gateway_port 2268 relay_port 2268

2. Create Relay interface
ip link add amtr type amt mode relay local 10.0.0.2 dev relay_rt \
relay_port 2268 max_tunnels 4

v1 -> v2:
=C2=A0- Eliminate sparse warnings.
=C2=A0 =C2=A0- Use bool type instead of __be16 for identifying v4/v6 protoc= ol.

v2 -> v3:
=C2=A0- Fix compile warning due to unsed variable.
=C2=A0- Add missing spinlock comment.
=C2=A0- Update help message of amt in Kconfig.

v3 -> v4:
=C2=A0- Split patch.
=C2=A0- Use CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY.
=C2=A0- Fix compile error.

v4 -> v5:
=C2=A0- Remove unnecessary rcu_read_lock().
=C2=A0- Remove unnecessary amt_change_mtu().
=C2=A0- Change netlink error message.
=C2=A0- Add validation for IFLA_AMT_LOCAL_IP and IFLA_AMT_DISCOVERY_IP.
=C2=A0- Add comments in amt.h.
=C2=A0- Add missing dev_put() in error path of amt_newlink().
=C2=A0- Fix typo.
=C2=A0- Add BUILD_BUG_ON() in amt_smb_cb().
=C2=A0- Use macro instead of magic values.
=C2=A0- Use kzalloc() instead of kmalloc().
=C2=A0- Add selftest script.

Taehee Yoo (5):
=C2=A0 amt: add control plane of amt interface
=C2=A0 amt: add data plane of amt interface
=C2=A0 amt: add multicast(IGMP) report message handler
=C2=A0 amt: add mld report message handler
=C2=A0 selftests: add amt interface selftest script

=C2=A0MAINTAINERS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 +
=C2=A0drivers/net/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 =C2=A016 +
=C2=A0drivers/net/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 =C2=A0 1 +
=C2=A0drivers/net/amt.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 3290 ++++++++++++++++++++++++++
=C2=A0include/net/amt.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 |=C2=A0 386 +++
=C2=A0include/uapi/linux/amt.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0|=C2=A0 =C2=A062 +
=C2=A0tools/testing/selftests/net/Makefile |=C2=A0 =C2=A0 1 +
=C2=A0tools/testing/selftests/net/amt.sh=C2=A0 =C2=A0|=C2=A0 284 +++
=C2=A0tools/testing/selftests/net/config=C2=A0 =C2=A0|=C2=A0 =C2=A0 1 +
=C2=A09 files changed, 4049 insertions(+)
=C2=A0create mode 100644 drivers/net/amt.c
=C2=A0create mode 100644 include/net/amt.h
=C2=A0create mode 100644 include/uapi/linux/amt.h
=C2=A0create mode 100644 tools/testing/selftests/net/amt.sh

--
2.17.1



--
Fixing Starlink's Latencies: https://www.youtube.co= m/watch?v=3Dc9gLo6Xrwgw

Dave T=C3=A4ht CEO, TekLibre, LLC
_______________________________________________
Make-wifi-fast mailing list
M= ake-wifi-fast@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/make-wif= i-fast

This ele= ctronic communication and the information and any files transmitted with it= , or attached to it, are confidential and are intended solely for the use o= f the individual or entity to whom it is addressed and may contain informat= ion that is confidential, legally privileged, protected by privacy laws, or= otherwise restricted from disclosure to anyone else. If you are not the in= tended recipient or the person responsible for delivering the e-mail to the= intended recipient, you are hereby notified that any use, copying, distrib= uting, dissemination, forwarding, printing, or copying of this e-mail is st= rictly prohibited. If you received this e-mail in error, please return the = e-mail to the sender, delete it from your computer, and destroy any printed= copy of it. --0000000000007c3a8505cf951d9d--