Re: [PATCH 5.12 081/363] net: bridge: propagate error code and extack from br_mc_disabled_update

From: Rudi Heitbaum
Date: Tue May 18 2021 - 10:35:46 EST


On Tue, May 18, 2021 at 04:28:30PM +0200, Greg Kroah-Hartman wrote:
> On Tue, May 18, 2021 at 02:12:42PM +0000, Rudi Heitbaum wrote:
> > On Tue, May 18, 2021 at 02:39:43PM +0200, Greg Kroah-Hartman wrote:
> > > On Tue, May 18, 2021 at 12:24:57PM +0000, Rudi Heitbaum wrote:
> > > > On Mon, May 17, 2021 at 03:59:07PM +0200, Greg Kroah-Hartman wrote:
> > > > > From: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > > > >
> > > > > [ Upstream commit ae1ea84b33dab45c7b6c1754231ebda5959b504c ]
> > > > >
> > > > > Some Ethernet switches might only be able to support disabling multicast
> > > > > snooping globally, which is an issue for example when several bridges
> > > > > span the same physical device and request contradictory settings.
> > > > >
> > > > > Propagate the return value of br_mc_disabled_update() such that this
> > > > > limitation is transmitted correctly to user-space.
> > > > >
> > > > > Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
> > > > > Signed-off-by: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> > > > > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > > > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > > > > ---
> > > > > net/bridge/br_multicast.c | 28 +++++++++++++++++++++-------
> > > > > net/bridge/br_netlink.c | 4 +++-
> > > > > net/bridge/br_private.h | 3 ++-
> > > > > net/bridge/br_sysfs_br.c | 8 +-------
> > > > > 4 files changed, 27 insertions(+), 16 deletions(-)
> > > >
> > > > This patch results in docker failing to start, and a regression between
> > > > 5.12.4 and 5.12.5-rc1
> > > >
> > > > A working dmesg output is like:
> > > >
> > > > [ 11.545255] device eth0 entered promiscuous mode
> > > > [ 11.693848] process 'docker/tmp/qemu-check643160757/check' started with executable stack
> > > > [ 17.233059] br-92020c7e3aea: port 1(veth17a0552) entered blocking state
> > > > [ 17.233065] br-92020c7e3aea: port 1(veth17a0552) entered disabled state
> > > > [ 17.233098] device veth17a0552 entered promiscuous mode
> > > > [ 17.292839] docker0: port 2(veth9d227f5) entered blocking state
> > > > [ 17.292848] docker0: port 2(veth9d227f5) entered disabled state
> > > > [ 17.292946] device veth9d227f5 entered promiscuous mode
> > > > [ 17.293070] docker0: port 2(veth9d227f5) entered blocking state
> > > > [ 17.293075] docker0: port 2(veth9d227f5) entered forwarding state
> > > >
> > > > with this patch "device veth17a0552 entered promiscuous mode" never
> > > > shows up.
> > > >
> > > > the docker error itself is:
> > > >
> > > > docker: Error response from daemon: failed to create endpoint
> > > > sleepy_dijkstra on network bridge: adding interface veth8cbd8f9 to
> > > > bridge docker0 failed: operation not supported.
> > >
> > > Ick.
> > >
> > > Does 5.13-rc1 also show this same problem?
> > >
> > > And thanks for testing!
> > >
> > > greg k-h
> >
> > Hi Greg,
> >
> > I can confirm that docker starts correctly with 5.13-rc1
> >
> > # dmesg | head
> > [ 0.000000] Linux version 5.13.0-rc1 (rudi@0e5f93d4a8a2) (x86_64-libreelec-linux-gnu-gcc-10.3.0 (GCC) 10.3.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP Tue May 18 14:00:41 UTC 2021
> > [ 0.000000] Command line: BOOT_IMAGE=/KERNEL boot=LABEL=LIBREELEC disk=LABEL=STORAGE i915.enable_guc=2 quiet
> > ...
> > [ 11.214582] docker0: port 1(veth2b37ac4) entered blocking state
> > [ 11.214589] docker0: port 1(veth2b37ac4) entered disabled state
> > [ 11.214649] device veth2b37ac4 entered promiscuous mode
> > [ 11.214752] docker0: port 1(veth2b37ac4) entered blocking state
> > [ 11.214755] docker0: port 1(veth2b37ac4) entered forwarding state
>
> Great, can you try 5.12.5-rc2 now?
>
> thanks,
>
> greg k-h

confirmed working now.

Thanks
Rudi