mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
tunnels: advertise link netns via netlink
Implement rtnl_link_ops->get_link_net() callback so that IFLA_LINK_NETNSID is added to rtnetlink messages. Signed-off-by: Nicolas Dichtel <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
d37512a277
commit
1728d4fabd
11 changed files with 34 additions and 0 deletions
|
|
@ -1662,6 +1662,7 @@ static struct rtnl_link_ops ip6gre_link_ops __read_mostly = {
|
|||
.dellink = ip6gre_dellink,
|
||||
.get_size = ip6gre_get_size,
|
||||
.fill_info = ip6gre_fill_info,
|
||||
.get_link_net = ip6_tnl_get_link_net,
|
||||
};
|
||||
|
||||
static struct rtnl_link_ops ip6gre_tap_ops __read_mostly = {
|
||||
|
|
|
|||
|
|
@ -1760,6 +1760,14 @@ nla_put_failure:
|
|||
return -EMSGSIZE;
|
||||
}
|
||||
|
||||
struct net *ip6_tnl_get_link_net(const struct net_device *dev)
|
||||
{
|
||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||
|
||||
return tunnel->net;
|
||||
}
|
||||
EXPORT_SYMBOL(ip6_tnl_get_link_net);
|
||||
|
||||
static const struct nla_policy ip6_tnl_policy[IFLA_IPTUN_MAX + 1] = {
|
||||
[IFLA_IPTUN_LINK] = { .type = NLA_U32 },
|
||||
[IFLA_IPTUN_LOCAL] = { .len = sizeof(struct in6_addr) },
|
||||
|
|
@ -1783,6 +1791,7 @@ static struct rtnl_link_ops ip6_link_ops __read_mostly = {
|
|||
.dellink = ip6_tnl_dellink,
|
||||
.get_size = ip6_tnl_get_size,
|
||||
.fill_info = ip6_tnl_fill_info,
|
||||
.get_link_net = ip6_tnl_get_link_net,
|
||||
};
|
||||
|
||||
static struct xfrm6_tunnel ip4ip6_handler __read_mostly = {
|
||||
|
|
|
|||
|
|
@ -1016,6 +1016,7 @@ static struct rtnl_link_ops vti6_link_ops __read_mostly = {
|
|||
.changelink = vti6_changelink,
|
||||
.get_size = vti6_get_size,
|
||||
.fill_info = vti6_fill_info,
|
||||
.get_link_net = ip6_tnl_get_link_net,
|
||||
};
|
||||
|
||||
static void __net_exit vti6_destroy_tunnels(struct vti6_net *ip6n)
|
||||
|
|
|
|||
|
|
@ -1763,6 +1763,7 @@ static struct rtnl_link_ops sit_link_ops __read_mostly = {
|
|||
.get_size = ipip6_get_size,
|
||||
.fill_info = ipip6_fill_info,
|
||||
.dellink = ipip6_dellink,
|
||||
.get_link_net = ip_tunnel_get_link_net,
|
||||
};
|
||||
|
||||
static struct xfrm_tunnel sit_handler __read_mostly = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue