netns: ipmr: declare counter cache_resolve_queue_len per-namespace
authorBenjamin Thery <benjamin.thery@bull.net>
Thu, 22 Jan 2009 04:56:19 +0000 (04:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Jan 2009 21:57:39 +0000 (13:57 -0800)
commit1e8fb3b6a4ac6c5e486298d88289038456957545
treeff2c02ed95edcf510e553c15c8abd476cdc6d669
parent2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281
netns: ipmr: declare counter cache_resolve_queue_len per-namespace

Preliminary work to make IPv4 multicast routing netns-aware.

Declare variable cache_resolve_queue_len per-namespace: move it into
struct netns_ipv4.

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
ipmr_cache_unresolved).
Entries belonging to different namespaces in mfc_unres_queue will be
identified by matching the mfc_net member introduced previously in
struct mfc_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: Benjamin Thery <benjamin.thery@bull.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netns/ipv4.h
net/ipv4/ipmr.c