diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2019-07-15 12:00:23 +0200 |
---|---|---|
committer | Steffen Klassert <steffen.klassert@secunet.com> | 2019-07-17 10:03:54 +0200 |
commit | 22d6552f827ef76ade3edf6bbb3f05048a0a7d8b (patch) | |
tree | eef63032d09302072b65a0b8654460d24c5cc753 /include/net/xfrm.h | |
parent | xfrm interface: fix list corruption for x-netns (diff) | |
download | linux-22d6552f827ef76ade3edf6bbb3f05048a0a7d8b.tar.xz linux-22d6552f827ef76ade3edf6bbb3f05048a0a7d8b.zip |
xfrm interface: fix management of phydev
With the current implementation, phydev cannot be removed:
$ ip link add dummy type dummy
$ ip link add xfrm1 type xfrm dev dummy if_id 1
$ ip l d dummy
kernel:[77938.465445] unregister_netdevice: waiting for dummy to become free. Usage count = 1
Manage it like in ip tunnels, ie just keep the ifindex. Not that the side
effect, is that the phydev is now optional.
Fixes: f203b76d7809 ("xfrm: Add virtual xfrm interfaces")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Tested-by: Julien Floret <julien.floret@6wind.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'include/net/xfrm.h')
-rw-r--r-- | include/net/xfrm.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index ad761ef84797..aa08a7a5f6ac 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -990,7 +990,6 @@ struct xfrm_if_parms { struct xfrm_if { struct xfrm_if __rcu *next; /* next interface in list */ struct net_device *dev; /* virtual device associated with interface */ - struct net_device *phydev; /* physical device */ struct net *net; /* netns for packet i/o */ struct xfrm_if_parms p; /* interface parms */ |