[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3232864-3800-e2a4-9ee3-2cfcf222a148@solarflare.com>
Date: Wed, 14 Aug 2019 17:17:20 +0100
From: Edward Cree <ecree@...arflare.com>
To: Pablo Neira Ayuso <pablo@...filter.org>
CC: <netdev@...r.kernel.org>, <netfilter-devel@...r.kernel.org>
Subject: Re: [PATCH net-next,v4 08/12] drivers: net: use flow block API
On 13/08/2019 20:51, Pablo Neira Ayuso wrote:
> On Mon, Aug 12, 2019 at 06:50:09PM +0100, Edward Cree wrote:
>> Pablo, can you explain (because this commit message doesn't) why these per-
>> driver lists are needed, and what the information/state is that has module
>> (rather than, say, netdevice) scope?
> The idea is to update drivers to support one flow_block per subsystem,
> one for ethtool, one for tc, and so on. So far, existing drivers only
> allow for binding one single flow_block to one of the existing
> subsystems. So this limitation applies at driver level.
That argues for per-driver _code_, not for per-driver _state_. For instance,
each driver could (more logically) store this information in the netdev
private data, rather than a static global. Or even, since each driver
instance has a unique cb_ident = netdev_priv(net_dev), this doesn't need to
be local to the driver at all and could just belong to the device owning the
flow_block (which isn't necessarily the device doing the offload, per
indirect blocks).
TBH I'm still not clear why you need a flow_block per subsystem, rather than
just having multiple subsystems feed their offload requests through the same
flow_block but with different enum tc_setup_type or enum tc_fl_command or
some other indication that this is "netfilter" rather than "tc" asking for a
tc_cls_flower_offload.
I'd also like to concur with what Jakub said on v2: "this series is really
hard to follow... the number of things called some combination of block cb
and list makes my head hurt :/".
This really needs a design document explaining what all the bits are, how
they fit together, and why they need to be like that.
Powered by blists - more mailing lists