• Jiri Benc's avatar
    rtnetlink: use netnsid to query interface · 79e1ad14
    Jiri Benc authored
    Currently, when an application gets netnsid from the kernel (for example as
    the result of RTM_GETLINK call on one end of the veth pair), it's not much
    useful. There's no reliable way to get to the netns fd from the netnsid, nor
    does any kernel API accept netnsid.
    
    Extend the RTM_GETLINK call to also accept netnsid. It will operate on the
    netns with the given netnsid in such case. Of course, the calling process
    needs to have enough capabilities in the target name space; for now, require
    CAP_NET_ADMIN. This can be relaxed in the future.
    
    To signal to the calling process that the kernel understood the new
    IFLA_IF_NETNSID attribute in the query, it will include it in the response.
    This is needed to detect older kernels, as they will just ignore
    IFLA_IF_NETNSID and query in the current name space.
    
    This patch implemetns IFLA_IF_NETNSID only for get and dump. For set
    operations, this can be extended later.
    Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    79e1ad14
rtnetlink.c 108 KB