From: Florian Westphal <[email protected]>
Date: Thu, 20 Apr 2017 18:08:15 +0200
> commit 4fbae7d83c98c30efc ("ipvlan: Introduce l3s mode") added
> registration of netfilter hooks via nf_register_hooks().
>
> This API provides the illusion of 'global' netfilter hooks by placing the
> hooks in all current and future network namespaces.
>
> In case of ipvlan the hook appears to be only needed in the namespace
> that contains the ipvlan master device (i.e., usually init_net), so
> placing them in all namespaces is not needed.
>
> This switches ipvlan driver to pernet operations, and then only registers
> hooks in namespaces where a ipvlan master device is set to l3s mode.
>
> Extra care has to be taken when the master device is moved to another
> namespace, as we might have to 'move' the netfilter hooks too.
>
> This is done by storing the namespace the ipvlan port was created in.
> On REGISTER event, do (un)register operations in the old/new namespaces.
>
> This will also allow removal of the nf_register_hooks() in a future patch.
>
> Cc: Mahesh Bandewar <[email protected]>
> Signed-off-by: Florian Westphal <[email protected]>
Applied, thanks Florian.