* [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) [not found] <20211030123921.29672-1-ap420073@gmail.com> @ 2021-10-30 14:23 ` Dave Taht 2021-10-30 17:17 ` Bob McMahon 0 siblings, 1 reply; 6+ messages in thread From: Dave Taht @ 2021-10-30 14:23 UTC (permalink / raw) To: Cake List, ECN-Sane, Make-Wifi-fast 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@davemloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>, <netdev@vger.kernel.org> Cc: <dkirjanov@suse.de>, <ap420073@gmail.com> 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=c9gLo6Xrwgw Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 2021-10-30 14:23 ` [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) Dave Taht @ 2021-10-30 17:17 ` Bob McMahon 2021-10-30 17:45 ` Dave Taht 2021-10-31 19:34 ` Holland, Jake 0 siblings, 2 replies; 6+ messages in thread From: Bob McMahon @ 2021-10-30 17:17 UTC (permalink / raw) To: Dave Taht; +Cc: Cake List, ECN-Sane, Make-Wifi-fast [-- Attachment #1: Type: text/plain, Size: 5252 bytes --] 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 <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@davemloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>, > <netdev@vger.kernel.org> > Cc: <dkirjanov@suse.de>, <ap420073@gmail.com> > > > 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=c9gLo6Xrwgw > > Dave Täht CEO, TekLibre, LLC > _______________________________________________ > Make-wifi-fast mailing list > Make-wifi-fast@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/make-wifi-fast -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly 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. [-- Attachment #2: Type: text/html, Size: 6876 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 2021-10-30 17:17 ` Bob McMahon @ 2021-10-30 17:45 ` Dave Taht 2021-10-30 18:55 ` Bob McMahon 2021-10-31 19:34 ` Holland, Jake 1 sibling, 1 reply; 6+ messages in thread From: Dave Taht @ 2021-10-30 17:45 UTC (permalink / raw) To: Bob McMahon; +Cc: Cake List, ECN-Sane, Make-Wifi-fast What I'd used for multicast testing during the heyday of the cerowrt project was http://uftp-multicast.sourceforge.net/ It gained RFC3168 style ecn support as a result, but I haven't tested it in years. On Sat, Oct 30, 2021 at 10:17 AM Bob McMahon <bob.mcmahon@broadcom.com> wrote: > > 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 <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@davemloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>, >> <netdev@vger.kernel.org> >> Cc: <dkirjanov@suse.de>, <ap420073@gmail.com> >> >> >> 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=c9gLo6Xrwgw >> >> Dave Täht CEO, TekLibre, LLC >> _______________________________________________ >> Make-wifi-fast mailing list >> Make-wifi-fast@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/make-wifi-fast > > > This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly 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. -- I tried to build a better future, a few times: https://wayforward.archive.org/?site=https%3A%2F%2Fwww.icei.org Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 2021-10-30 17:45 ` Dave Taht @ 2021-10-30 18:55 ` Bob McMahon 0 siblings, 0 replies; 6+ messages in thread From: Bob McMahon @ 2021-10-30 18:55 UTC (permalink / raw) To: Dave Taht; +Cc: Cake List, ECN-Sane, Make-Wifi-fast [-- Attachment #1: Type: text/plain, Size: 7839 bytes --] hmm, that could be useful too. Though starting with things like join latencies was something we tested in our early APs (which have a proprietary multicast over unicast implementation.) Iperf 2 repo very crude igmp querier c code, mostly just to set things like mrouter ports on l2 switches. We needed the join latencies for IPTV over multicast to simulate channel changes. The querier supports test control of when it sends out the all hosts query which we needed to. I found multicast testing (both internet and WiFi) as a lot of fun because things are "upside down" or reversed per RPFs. The AP has it relatively easy compared to an internet router/switch combo. Anyway, I'm fairly steeped in testing L3 IP and L2 multicast. Let me know if any new testing features are required for these efforts. Bob On Sat, Oct 30, 2021 at 10:46 AM Dave Taht <dave.taht@gmail.com> wrote: > What I'd used for multicast testing during the heyday of the cerowrt > project was > > http://uftp-multicast.sourceforge.net/ > > It gained RFC3168 style ecn support as a result, but I haven't tested > it in years. > > On Sat, Oct 30, 2021 at 10:17 AM Bob McMahon <bob.mcmahon@broadcom.com> > wrote: > > > > 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 <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@davemloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>, > >> <netdev@vger.kernel.org> > >> Cc: <dkirjanov@suse.de>, <ap420073@gmail.com> > >> > >> > >> 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=c9gLo6Xrwgw > >> > >> Dave Täht CEO, TekLibre, LLC > >> _______________________________________________ > >> Make-wifi-fast mailing list > >> Make-wifi-fast@lists.bufferbloat.net > >> https://lists.bufferbloat.net/listinfo/make-wifi-fast > > > > > > This electronic communication and the information and any files > transmitted with it, or attached to it, are confidential and are intended > solely for the use of the individual or entity to whom it is addressed and > may contain information that is confidential, legally privileged, protected > by privacy laws, or otherwise restricted from disclosure to anyone else. If > you are not the intended recipient or the person responsible for delivering > the e-mail to the intended recipient, you are hereby notified that any use, > copying, distributing, dissemination, forwarding, printing, or copying of > this e-mail is strictly 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. > > > > -- > I tried to build a better future, a few times: > https://wayforward.archive.org/?site=https%3A%2F%2Fwww.icei.org > > Dave Täht CEO, TekLibre, LLC > -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly 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. [-- Attachment #2: Type: text/html, Size: 10499 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 2021-10-30 17:17 ` Bob McMahon 2021-10-30 17:45 ` Dave Taht @ 2021-10-31 19:34 ` Holland, Jake 2021-10-31 20:16 ` Bob McMahon 1 sibling, 1 reply; 6+ messages in thread From: Holland, Jake @ 2021-10-31 19:34 UTC (permalink / raw) To: Bob McMahon, Dave Taht; +Cc: Cake List, Make-Wifi-fast, ECN-Sane [-- Attachment #1: Type: text/plain, Size: 6422 bytes --] Yes, iperf2 and VLC are my main go-tos outside of my own stuff. This was one of the big things that made me sad about iperf3. Thanks Bob for getting it in there, it was really helpful for me :) -Jake From: Bob McMahon via Make-wifi-fast <make-wifi-fast@lists.bufferbloat.net> Reply-To: Bob McMahon <bob.mcmahon@broadcom.com> Date: Sat,2021-10-30 at 10:17 AM To: Dave Taht <dave.taht@gmail.com> Cc: Cake List <cake@lists.bufferbloat.net>, Make-Wifi-fast <make-wifi-fast@lists.bufferbloat.net>, ECN-Sane <ecn-sane@lists.bufferbloat.net> Subject: Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 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 <dave.taht@gmail.com<mailto:dave.taht@gmail.com>> wrote: This should be "fun". ---------- Forwarded message --------- From: Taehee Yoo <ap420073@gmail.com<mailto: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@davemloft.net<mailto:davem@davemloft.net>>, <kuba@kernel.org<mailto:kuba@kernel.org>>, <dsahern@kernel.org<mailto:dsahern@kernel.org>>, <netdev@vger.kernel.org<mailto:netdev@vger.kernel.org>> Cc: <dkirjanov@suse.de<mailto:dkirjanov@suse.de>>, <ap420073@gmail.com<mailto:ap420073@gmail.com>> This is an implementation of AMT(Automatic Multicast Tunneling), RFC 7450. https://datatracker.ietf.org/doc/html/rfc7450<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc7450__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjItrAOc6Og$> 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=c9gLo6Xrwgw<https://urldefense.com/v3/__https:/www.youtube.com/watch?v=c9gLo6Xrwgw__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjItJ65P8PM$> Dave Täht CEO, TekLibre, LLC _______________________________________________ Make-wifi-fast mailing list Make-wifi-fast@lists.bufferbloat.net<mailto:Make-wifi-fast@lists.bufferbloat.net> https://lists.bufferbloat.net/listinfo/make-wifi-fast<https://urldefense.com/v3/__https:/lists.bufferbloat.net/listinfo/make-wifi-fast__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjIteu0IZA4$> This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly 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. [-- Attachment #2: Type: text/html, Size: 10727 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) 2021-10-31 19:34 ` Holland, Jake @ 2021-10-31 20:16 ` Bob McMahon 0 siblings, 0 replies; 6+ messages in thread From: Bob McMahon @ 2021-10-31 20:16 UTC (permalink / raw) To: Holland, Jake; +Cc: Dave Taht, Cake List, Make-Wifi-fast, ECN-Sane [-- Attachment #1: Type: text/plain, Size: 7962 bytes --] iperf 3 is about research networks carrying large data sets, e.g. particle collider data acquisition captures., less about latency & multicast. And I don't think anybody has plans to multicast CERN data over a WiFi network. It's unfortunate that the naming has been confusing, e.g. the number 3 implies the next version of iperf. In reality, it's a separate design and coding team and we intentionally don't share code, giving some independence between the tools which helps to verify that the tools aren't driving the measurement but the network is. Bob On Sun, Oct 31, 2021 at 12:34 PM Holland, Jake <jholland@akamai.com> wrote: > Yes, iperf2 and VLC are my main go-tos outside of my own stuff. > > > > This was one of the big things that made me sad about iperf3. Thanks Bob > for getting it in there, it was really helpful for me :) > > > > -Jake > > > > *From: *Bob McMahon via Make-wifi-fast < > make-wifi-fast@lists.bufferbloat.net> > *Reply-To: *Bob McMahon <bob.mcmahon@broadcom.com> > *Date: *Sat,2021-10-30 at 10:17 AM > *To: *Dave Taht <dave.taht@gmail.com> > *Cc: *Cake List <cake@lists.bufferbloat.net>, Make-Wifi-fast < > make-wifi-fast@lists.bufferbloat.net>, ECN-Sane < > ecn-sane@lists.bufferbloat.net> > *Subject: *Re: [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add > initial driver for Automatic Multicast Tunneling (AMT) > > > > 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 <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@davemloft.net>, <kuba@kernel.org>, <dsahern@kernel.org>, > <netdev@vger.kernel.org> > Cc: <dkirjanov@suse.de>, <ap420073@gmail.com> > > > This is an implementation of AMT(Automatic Multicast Tunneling), RFC 7450. > https://datatracker.ietf.org/doc/html/rfc7450 > <https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc7450__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjItrAOc6Og$> > > 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=c9gLo6Xrwgw > <https://urldefense.com/v3/__https:/www.youtube.com/watch?v=c9gLo6Xrwgw__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjItJ65P8PM$> > > Dave Täht CEO, TekLibre, LLC > _______________________________________________ > Make-wifi-fast mailing list > Make-wifi-fast@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/make-wifi-fast > <https://urldefense.com/v3/__https:/lists.bufferbloat.net/listinfo/make-wifi-fast__;!!GjvTz_vk!A3ij1BC95UcJhHaWLSgiIdef_RePfYenud3dJANXLSHbiJJgd44psjIteu0IZA4$> > > > This electronic communication and the information and any files > transmitted with it, or attached to it, are confidential and are intended > solely for the use of the individual or entity to whom it is addressed and > may contain information that is confidential, legally privileged, protected > by privacy laws, or otherwise restricted from disclosure to anyone else. If > you are not the intended recipient or the person responsible for delivering > the e-mail to the intended recipient, you are hereby notified that any use, > copying, distributing, dissemination, forwarding, printing, or copying of > this e-mail is strictly 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. > -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly 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. [-- Attachment #2: Type: text/html, Size: 11068 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-31 20:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20211030123921.29672-1-ap420073@gmail.com> 2021-10-30 14:23 ` [Make-wifi-fast] Fwd: [PATCH net-next v5 0/5] amt: add initial driver for Automatic Multicast Tunneling (AMT) Dave Taht 2021-10-30 17:17 ` Bob McMahon 2021-10-30 17:45 ` Dave Taht 2021-10-30 18:55 ` Bob McMahon 2021-10-31 19:34 ` Holland, Jake 2021-10-31 20:16 ` Bob McMahon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox