• Benjamin Thery's avatar
    netns: ip6mr: declare counter cache_resolve_queue_len per-namespace · 4045e57c
    Benjamin Thery authored
    Preliminary work to make IPv6 multicast forwarding netns-aware.
    
    Declare variable cache_resolve_queue_len per-namespace: moves it into
    struct netns_ipv6.
    
    This variable counts the number of unresolved cache entries queued in the
    list mfc_unres_queue. This list is kept global to all netns as the number
    of entries per namespace is limited to 10 (hardcoded in routine 
    ip6mr_cache_unresolved).
    Entries belonging to different namespaces in mfc_unres_queue will be
    identified by matching the mfc_net member introduced previously in 
    struct mfc6_cache.
    
    Keeping this list global to all netns, also allows us to keep a single
    timer (ipmr_expire_timer) to handle their expiration.
    In some places cache_resolve_queue_len value was tested for arming 
    or deleting the timer. These tests were equivalent to testing 
    mfc_unres_queue value instead and are replaced in this patch.
    
    At the moment, cache_resolve_queue_len is only referenced in init_net.
    Signed-off-by: default avatarBenjamin Thery <benjamin.thery@bull.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4045e57c
ip6mr.c 38.3 KB