[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1f385946-84d0-499c-9bf6-90ef65918356@gmail.com>
Date: Mon, 29 Apr 2024 16:14:03 -0400
From: Joseph Huang <joseph.huang.2024@...il.com>
To: Vladimir Oltean <olteanv@...il.com>
Cc: Nikolay Aleksandrov <razor@...ckwall.org>,
Joseph Huang <Joseph.Huang@...min.com>, netdev@...r.kernel.org,
Andrew Lunn <andrew@...n.ch>, Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Roopa Prabhu <roopa@...dia.com>, Linus Lüssing
<linus.luessing@...3.blue>, linux-kernel@...r.kernel.org,
bridge@...ts.linux.dev
Subject: Re: [PATCH RFC net-next 00/10] MC Flood disable and snooping
On 4/5/2024 5:15 PM, Vladimir Oltean wrote:
> On Fri, Apr 05, 2024 at 04:22:43PM -0400, Joseph Huang wrote:
>> Like this?
>>
>> bridge link set dev swp0 mcast_flood off
>> - all flooding disabled
>>
>> bridge link set dev swp0 mcast_flood on
>> - all flooding enabled
>>
>> bridge link set dev swp0 mcast_flood on mcast_ipv4_data_flood off
>> mcast_ipv6_data_flood off
>> - IPv4 data packets flooding disabled, IPv6 data packets flooding
>> disabled, everything else floods (that is to say, only allow IPv4 local
>> subnet and IPv6 link-local to flood)
>>
>> ?
>
> Yeah.
>
>> The syntax seems to be counterintuitive.
>>
>> Or like this?
>>
>> bridge link set dev swp0 mcast_flood on mcast_ipv4_ctrl_flood on
>> - only allow IPv4 local subnet to flood, everything else off
>>
>> ?
>
> Nope.
>
>> So basically the question is, what should the behavior be when something is
>> omitted from the command line?
>
> The answer is always: "new options should default to behaving exactly
> like before". It's not just about the command line arguments, but also
> about the actual netlink attributes that iproute2 (and other tooling)
> creates when communicating with the kernel. Old user space has no idea
> about the existence of mcast_ipv4_ctrl_flood et. al. So, if netlink
> attributes specifying their value are not sent by user space, their
> value in the kernel must mimic the value of mcast_flood.
How about the following syntax? I think it satisfies all the "not
breaking existing behavior" requirements (new option defaults to off,
and missing user space netlink attributes does not change the existing
behavior):
mcast_flood off
all off
mcast_flood off mcast_flood_rfc4541 off
all off
mcast_flood off mcast_flood_rfc4541 on
224.0.0.X and ff02::1 on, the rest off
mcast_flood on
all on
mcast_flood on mcast_flood_rfc4541 off
all on (mcast_flood on overrides mcast_flood_rfc4541)
mcast_flood on mcast_flood_rfc4541 on
all on
mcast_flood_rfc4541 off
invalid (mcast_flood_rfc4541 is only valid if mcast_flood [on | off]
is specified first)
mcast_flood_rfc4541 on
invalid (mcast_flood_rfc4541 is only valid if mcast_flood [on | off]
is specified first)
Think of mcast_flood_rfc4541 like a pet door if you will.
Powered by blists - more mailing lists