• Eric W. Biederman's avatar
    [NET]: Implement network device movement between namespaces · ce286d32
    Eric W. Biederman authored
    This patch introduces NETIF_F_NETNS_LOCAL a flag to indicate
    a network device is local to a single network namespace and
    should never be moved.  Useful for pseudo devices that we
    need an instance in each network namespace (like the loopback
    device) and for any device we find that cannot handle multiple
    network namespaces so we may trap them in the initial network
    namespace.
    
    This patch introduces the function dev_change_net_namespace
    a function used to move a network device from one network
    namespace to another.  To the network device nothing
    special appears to happen, to the components of the network
    stack it appears as if the network device was unregistered
    in the network namespace it is in, and a new device
    was registered in the network namespace the device
    was moved to.
    
    This patch sets up a namespace device destructor that
    upon the exit of a network namespace moves all of the
    movable network devices  to the initial network namespace
    so they are not lost.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ce286d32
dev.c 107 KB