• Benjamin Thery's avatar
    netns: ip6mr: enable namespace support in ipv6 multicast forwarding code · 8229efda
    Benjamin Thery authored
    This last patch makes the appropriate changes to use and propagate the
    network namespace where needed in IPv6 multicast forwarding code.
    
    This consists mainly in replacing all the remaining init_net occurences
    with current netns pointer retrieved from sockets, net devices or 
    mfc6_caches depending on the routines' contexts.
    
    Some routines receive a new 'struct net' parameter to propagate the current
    netns:
    * ip6mr_get_route
    * ip6mr_cache_report
    * ip6mr_cache_find
    * ip6mr_cache_unresolved
    * mif6_add/mif6_delete
    * ip6mr_mfc_add/ip6mr_mfc_delete
    * ip6mr_reg_vif
    
    All the IPv6 multicast forwarding variables moved to struct netns_ipv6 by
    the previous patches are now referenced in the correct namespace.
    
    Changelog:
    ==========
    * Take into account the net associated to mfc6_cache when matching entries in
      mfc_unres_queue list.
    * Call mroute_clean_tables() in ip6mr_net_exit() to free memory allocated
      per-namespace.
    * Call dev_net_set() in ip6mr_reg_vif() to initialize dev->nd_net 
      correctly.
    Signed-off-by: default avatarBenjamin Thery <benjamin.thery@bull.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8229efda
ip6mr.c 39.3 KB