netns: enable to specify a nsid for a get request
Combined with NETNSA_TARGET_NSID, it enables to "translate" a nsid from one netns to a nsid of another netns. This is useful when using NETLINK_F_LISTEN_ALL_NSID because it helps the user to interpret a nsid received from an other netns. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
cff478b9d9
commit
3a4f68bf66
|
@ -797,6 +797,11 @@ static int rtnl_net_getid(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||
} else if (tb[NETNSA_FD]) {
|
||||
peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD]));
|
||||
nla = tb[NETNSA_FD];
|
||||
} else if (tb[NETNSA_NSID]) {
|
||||
peer = get_net_ns_by_id(net, nla_get_u32(tb[NETNSA_NSID]));
|
||||
if (!peer)
|
||||
peer = ERR_PTR(-ENOENT);
|
||||
nla = tb[NETNSA_NSID];
|
||||
} else {
|
||||
NL_SET_ERR_MSG(extack, "Peer netns reference is missing");
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue