• Christian Brauner's avatar
    rtnetlink: enable IFLA_IF_NETNSID for RTM_SETLINK · c310bfcb
    Christian Brauner authored
    
    
    - Backwards Compatibility:
      If userspace wants to determine whether RTM_SETLINK supports the
      IFLA_IF_NETNSID property they should first send an RTM_GETLINK request
      with IFLA_IF_NETNSID on lo. If either EACCESS is returned or the reply
      does not include IFLA_IF_NETNSID userspace should assume that
      IFLA_IF_NETNSID is not supported on this kernel.
      If the reply does contain an IFLA_IF_NETNSID property userspace
      can send an RTM_SETLINK with a IFLA_IF_NETNSID property. If they receive
      EOPNOTSUPP then the kernel does not support the IFLA_IF_NETNSID property
      with RTM_SETLINK. Userpace should then fallback to other means.
    
      To retain backwards compatibility the kernel will first check whether a
      IFLA_NET_NS_PID or IFLA_NET_NS_FD property has been passed. If either
      one is found it will be used to identify the target network namespace.
      This implies that users who do not care whether their running kernel
      supports IFLA_IF_NETNSID with RTM_SETLINK can pass both
      IFLA_NET_NS_{FD,PID} and IFLA_IF_NETNSID referring to the same network
      namespace.
    
    - Security:
      Callers must have CAP_NET_ADMIN in the owning user namespace of the
      target network namespace.
    Signed-off-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c310bfcb
rtnetlink.c 112 KB