• Eric W. Biederman's avatar
    [NET]: Basic network namespace infrastructure. · 5f256bec
    Eric W. Biederman authored
    This is the basic infrastructure needed to support network
    namespaces.  This infrastructure is:
    - Registration functions to support initializing per network
      namespace data when a network namespaces is created or destroyed.
    
    - struct net.  The network namespace data structure.
      This structure will grow as variables are made per network
      namespace but this is the minimal starting point.
    
    - Functions to grab a reference to the network namespace.
      I provide both get/put functions that keep a network namespace
      from being freed.  And hold/release functions serve as weak references
      and will warn if their count is not zero when the data structure
      is freed.  Useful for dealing with more complicated data structures
      like the ipv4 route cache.
    
    - A list of all of the network namespaces so we can iterate over them.
    
    - A slab for the network namespace data structure allowing leaks
      to be spotted.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5f256bec
net_namespace.c 7 KB