[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <458c96a6-d872-3c0c-ebb0-37d505c95a76@sedsystems.ca>
Date: Sat, 22 Dec 2018 20:29:08 -0600
From: Robert Hancock <hancock@...systems.ca>
To: netdev@...r.kernel.org
Subject: Errors enabling bridge with KSZ9897 DSA switch driver
I have a device using a KSZ9897 switch
(CONFIG_MICROCHIP_KSZ_SPI_DRIVER=y) using a 4.19.9 kernel, where I am
trying to enable a bridge on some of the ports using systemd-networkd.
However, it seems to be getting an error when it tries to configure the
ports to be part of the bridge. systemd-networkd complains with:
lan1: Set link
lan1: Could not join netdev: Operation not supported
lan1: Failed
and the kernel complains:
lan: bridge flag offload is not supported 4(lan1)
That message is coming from br_switchdev_set_port_flag in
net/bridge/br_switchdev.c. Adding some more output to that statement
tells me:
lan: bridge flag offload is not supported, flags 18656 mask 64 support
0, 4(lan1)
which appears to mean something is trying to enable BR_BCAST_FLOOD,
BR_MCAST_FLOOD, BR_PROMISC, BR_FLOOD, BR_LEARNING on the port, but it is
failing to enable BR_FLOOD because brport_flags_support is 0. I am just
using the default bridge settings in systemd-networkd, so that is
nothing that I am specifying explicitly.
However, if I look at brctl, it appears that the devices have in fact
been added to the bridge, but obviously systemd-networkd still treats
this as a failure.
I'm not sure what that means.. is this a kernel problem?
systemd-networkd problem? Are we somehow trying to do something
unsupported on this hardware? Any advice would be appreciated.
--
Robert Hancock
Senior Software Developer
SED Systems
Email: hancock@...systems.ca
Powered by blists - more mailing lists