Re: [PATCH] net: Allow any address multicast join for IP sockets

From: Callum Sinclair
Date: Tue Jul 06 2021 - 22:00:36 EST


Hi Andrew

Yes I want to receive all multicast frames.This is to configure
a userspace switch driver to prevent unknown multicast
routes being flooded unexpectedly to all switch ports.

The advantage of using IP sockets over a pcap on raw sockets
is I can still use the Linux routing stack for sending and receiving
packets.

Cheers
Callum
________________________________________
From: Andrew Lunn <andrew@xxxxxxx>
Sent: Wednesday, July 7, 2021 1:28 AM
To: Callum Sinclair
Cc: dsahern@xxxxxxxxxx; nikolay@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linus.luessing@xxxxxxxxx
Subject: Re: [PATCH] net: Allow any address multicast join for IP sockets

On Tue, Jul 06, 2021 at 01:15:47PM +1200, Callum Sinclair wrote:
> For an application to receive all multicast packets in a range such as
> 224.0.0.1 - 239.255.255.255 each multicast IP address has to be joined
> explicitly one at a time.
>
> Allow the any address to be passed to the IP_ADD_MEMBERSHIP and
> IPV6_ADD_MEMBERSHIP socket option per interface. By joining the any
> address the socket will receive all multicast packets that are received
> on the interface.
>
> This allows any IP socket to be used for IGMP or MLD snooping.

Do you really want all multicast frames, or just IGMP and MLD
messages?

What is the advantage of this solution over using pcap with a filter
which matches on multicast?

Andrew