Thread (8 messages) 8 messages, 4 authors, 2026-02-17

Re: [PATCH net] net: flow_offload: protect driver_block_list in flow_block_cb_setup_simple()

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-02-17 22:05:47
Also in: lkml, netfilter-devel

On Tue, 17 Feb 2026 12:42:13 +0100 Pablo Neira Ayuso wrote:
quoted
static int
mtk_eth_setup_tc_block(struct net_device *dev, struct flow_block_offload *f)
{
        struct mtk_mac *mac = netdev_priv(dev);
        struct mtk_eth *eth = mac->hw;
        static LIST_HEAD(block_cb_list);
	~~~~~~
I have a question.

[..]
        f->driver_block_list = &block_cb_list;

Now I have many questions!

How is this supposed to work?  
Last time I met people, I asked how is hw offload actually working
with netns (6 years ago?), someone told me: "maybe there is a driver
that supports it...". I have never seen one, but I am very much
outdates on how this has evolved TBH, I might be wrong.

I don't think any driver really supports netns + hardware offload, so
I suggest to restrict it, see attached patch.

It would be better to add a helper function such as int net_setup_tc()
for the myriad of ->ndo_setup_tc() calls in the code, then move this
check in it to consolidate, but I think you want something you can
pass to -stable at this stage?
I don't think we need this restriction for TC side, it should be under
rtnl_lock, IIUC. I have a... strong suspicion(?) that TC works, some
drivers explicitly support devlink reload into a specified netns. 
I always assumed this is for the cases where something like OvS offload
is supposed to be handled outside init_net to avoid netdev explosion. 
I could be wrong, tho, could be an RDMA thing.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help