Thread (31 messages) flat view 31 messages, 3 authors, 2017-11-18

Re: [patch net-next v2 04/10] net: sched: introduce block mechanism to handle netif_keep_dst calls

From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-11-13 08:54:23

Mon, Nov 13, 2017 at 09:45:12AM CET, jakub.kicinski@netronome.com wrote:
On Mon, 13 Nov 2017 09:35:55 +0100, Jiri Pirko wrote:
quoted
Mon, Nov 13, 2017 at 09:17:23AM CET, jakub.kicinski@netronome.com wrote:
quoted
On Mon, 13 Nov 2017 09:08:16 +0100, Jiri Pirko wrote:  
quoted
Mon, Nov 13, 2017 at 09:03:34AM CET, jakub.kicinski@netronome.com wrote:  
quoted
On Mon, 13 Nov 2017 08:58:44 +0100, Jiri Pirko wrote:    
quoted
Mon, Nov 13, 2017 at 08:47:26AM CET, jakub.kicinski@netronome.com wrote:    
quoted
On Sun, 12 Nov 2017 16:55:58 +0100, Jiri Pirko wrote:      
quoted
From: Jiri Pirko <redacted>

Couple of classifiers call netif_keep_dst directly on q->dev. That is
not possible to do directly for shared blocke where multiple qdiscs are
owning the block. So introduce a infrastructure to keep track of the
block owners in list and use this list to implement block variant of
netif_keep_dst.

Signed-off-by: Jiri Pirko <redacted>      
Could you use the list you add here to check the ethtool tc offload
flag? :)      
It is a list of qdisc sub parts. Not a list of netdevs    
Hm.  OK, I won't pretend I understand the TC code in detail, I thought
that would give you all netdevs, but possibly duplicated.    
Yeah, eventually you can get it. But still, it is unusable to check the
offload flag cause it has no relation with the block cbs.  
OK.  Depends on which flags you intend to check.  I.e. is it OK to
offload filters of the bond, because all its slaves have offloads on
but the bond itself doesn't.  Is that what you mean?  
No.
What I mean is, there is not always 1:1 relation between a registered
block cb and netdev. For example in case of mlxsw. When multiple mlxsw
devices share the same block, there is only one block cb call for all
of them.
OK, I'm clearly missing something.  I would have thought that the case
where the callback is shared for multiple port netdevs is pretty well
covered by the Qdiscs owning the block, provided that you said you
intend to only offload the rule if all port netdevs sharing the block
have the TC offload on.
You are right. But still, how do you map the qdiscs owning the block to
whoever who registers the cb? That is my point.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help