Thread (23 messages) flat view 23 messages, 5 authors, 2021-11-02

Re: [PATCH net-next 0/5] Code movement to br_switchdev.c

From: Jiri Pirko <jiri@resnulli.us>
Date: 2021-11-02 13:44:48

Tue, Nov 02, 2021 at 01:02:06PM CET, vladimir.oltean@nxp.com wrote:
On Tue, Nov 02, 2021 at 12:49:53PM +0100, Jiri Pirko wrote:
quoted
Tue, Nov 02, 2021 at 12:11:59PM CET, vladimir.oltean@nxp.com wrote:
quoted
On Mon, Nov 01, 2021 at 04:05:45PM +0100, Jiri Pirko wrote:
quoted
Wed, Oct 27, 2021 at 06:21:14PM CEST, vladimir.oltean@nxp.com wrote:
quoted
This is one more refactoring patch set for the Linux bridge, where more
logic that is specific to switchdev is moved into br_switchdev.c, which
is compiled out when CONFIG_NET_SWITCHDEV is disabled.
Looks good.

While you are at it, don't you plan to also move switchdev.c into
br_switchdev.c and eventually rename to br_offload.c ?

Switchdev is about bridge offloading only anyway.
You mean I should effectively make switchdev part of the bridge?
Yes.
Ok, have you actually seen the commit message linked below? Basically it
says that there are drivers that depend on switchdev.c being this
neutral third party, forwarding events on notifier chains back and forth
between the bridge and the drivers. If we make switchdev.c part of the
bridge, then drivers can no longer be compiled without bridge support.
Currently br_switchdev.c is compiled as follows:

bridge-$(CONFIG_NET_SWITCHDEV) += br_switchdev.o

whereas switchdev.c is compiled as follows:

obj-y += switchdev.o

So to rephrase the question: unless you're suggesting that I should
build br_switchdev.o as part of obj-$(CONFIG_NET_SWITCHDEV) instead of
bridge-$(CONFIG_NET_SWITCHDEV), then what do we do with the drivers that
assume that the switchdev functions they call into are present when the
bridge is not compiled, or is compiled as module?
It can work similarly as VLAN. It also has "vlan core" which is always
in for drivers, however VLAN driver itself does not have to be.

quoted
quoted
See commit 957e2235e526 ("net: make switchdev_bridge_port_{,unoffload}
loosely coupled with the bridge").
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help