On Tue, 2017-10-17 at 22:05 +0200, Jiri Pirko wrote: > From: Jiri Pirko <j...@mellanox.com> > > Introduce new type of ndo_setup_tc message to propage binding/unbinding > of a block to driver. Call this ndo whenever qdisc gets/puts a block. > Alongside with this, there's need to propagate binder type from qdisc > code down to the notifier. So introduce extended variants of > block_get/put in order to pass this info. > > Signed-off-by: Jiri Pirko <j...@mellanox.com> > --- > include/linux/netdevice.h | 1 + > include/net/pkt_cls.h | 40 +++++++++++++++++++++++++++++++++ > net/sched/cls_api.c | 56 > ++++++++++++++++++++++++++++++++++++++++++++--- > 3 files changed, 94 insertions(+), 3 deletions(-) > > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h > index 31bb301..062a4f5 100644 > --- a/include/linux/netdevice.h > +++ b/include/linux/netdevice.h > @@ -771,6 +771,7 @@ typedef u16 (*select_queue_fallback_t)(struct net_device > *dev, > > enum tc_setup_type { > TC_SETUP_MQPRIO, > + TC_SETUP_BLOCK, > TC_SETUP_CLSU32, > TC_SETUP_CLSFLOWER, > TC_SETUP_CLSMATCHALL,
I'm not a big fan of adding this to the middle of the enum. It will make it harder for people that have to backport changes and such since it is reordering values that are passed as a part of the kabi between drivers and the kernel. Also does this patch set really need to be 20 patches long? Seems like you could have done this as a set of 8 and another of 12 since you need about 8 patches to get to the point where you start pulling the code out of the drivers. - Alex