Sat, Nov 10, 2018 at 06:21:26AM CET, jakub.kicin...@netronome.com wrote: >From: John Hurley <john.hur...@netronome.com> > >Currently drivers can register to receive TC block bind/unbind callbacks >by implementing the setup_tc ndo in any of their given netdevs. However, >drivers may also be interested in binds to higher level devices (e.g. >tunnel drivers) to potentially offload filters applied to them. > >Introduce indirect block devs which allows drivers to register callbacks >for block binds on other devices. The callback is triggered when the >device is bound to a block, allowing the driver to register for rules >applied to that block using already available functions. > >Freeing an indirect block callback will trigger an unbind event (if >necessary) to direct the driver to remove any offloaded rules and unreg >any block rule callbacks. It is the responsibility of the implementing >driver to clean any registered indirect block callbacks before exiting, >if the block it still active at such a time. > >Allow registering an indirect block dev callback for a device that is >already bound to a block. In this case (if it is an ingress block), >register and also trigger the callback meaning that any already installed >rules can be replayed to the calling driver. > >Signed-off-by: John Hurley <john.hur...@netronome.com> >Signed-off-by: Jakub Kicinski <jakub.kicin...@netronome.com>
Acked-by: Jiri Pirko <j...@mellanox.com>