<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/net/netns, branch v2.6.30</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.30</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.30'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2009-03-25T20:05:46+00:00</updated>
<entry>
<title>netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu()</title>
<updated>2009-03-25T20:05:46+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>dada1@cosmosbay.com</email>
</author>
<published>2009-03-25T20:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ea781f197d6a835cbb93a0bf88ee1696296ed8aa'/>
<id>urn:sha1:ea781f197d6a835cbb93a0bf88ee1696296ed8aa</id>
<content type='text'>
Use "hlist_nulls" infrastructure we added in 2.6.29 for RCUification of UDP &amp; TCP.

This permits an easy conversion from call_rcu() based hash lists to a
SLAB_DESTROY_BY_RCU one.

Avoiding call_rcu() delay at nf_conn freeing time has numerous gains.

First, it doesnt fill RCU queues (up to 10000 elements per cpu).
This reduces OOM possibility, if queued elements are not taken into account
This reduces latency problems when RCU queue size hits hilimit and triggers
emergency mode.

- It allows fast reuse of just freed elements, permitting better use of
CPU cache.

- We delete rcu_head from "struct nf_conn", shrinking size of this structure
by 8 or 16 bytes.

This patch only takes care of "struct nf_conn".
call_rcu() is still used for less critical conntrack parts, that may
be converted later if necessary.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: declare reg_vif_num per-namespace</title>
<updated>2009-01-22T21:57:40+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c5143dbcfe50ac722965dc7d096abbeeec8bb33'/>
<id>urn:sha1:6c5143dbcfe50ac722965dc7d096abbeeec8bb33</id>
<content type='text'>
Preliminary work to make IPv4 multicast routing netns-aware.

Declare variable 'reg_vif_num' per-namespace, move into struct netns_ipv4.

At the moment, this variable is only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: declare mroute_do_assert and mroute_do_pim per-namespace</title>
<updated>2009-01-22T21:57:40+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f9374a9342e896c68df7cf7c0b039ab5cca994c'/>
<id>urn:sha1:6f9374a9342e896c68df7cf7c0b039ab5cca994c</id>
<content type='text'>
Preliminary work to make IPv4 multicast routing netns-aware.

Declare IPv multicast routing variables 'mroute_do_assert' and
'mroute_do_pim' per-namespace in struct netns_ipv4.

At the moment, these variables are only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: declare counter cache_resolve_queue_len per-namespace</title>
<updated>2009-01-22T21:57:39+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1e8fb3b6a4ac6c5e486298d88289038456957545'/>
<id>urn:sha1:1e8fb3b6a4ac6c5e486298d88289038456957545</id>
<content type='text'>
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 &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: dynamically allocate mfc_cache_array</title>
<updated>2009-01-22T21:57:38+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281'/>
<id>urn:sha1:2bb8b26c3ea8bde1943dc5cd4dda2dc9f48fb281</id>
<content type='text'>
Preliminary work to make IPv4 multicast routing netns-aware.

Dynamically allocate IPv4 multicast forwarding cache, mfc_cache_array,
and move it to struct netns_ipv4.

At the moment, mfc_cache_array is only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: dynamically allocate vif_table</title>
<updated>2009-01-22T21:57:34+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cf958ae377ee2545ae70cf48d38e7eb4308c27ea'/>
<id>urn:sha1:cf958ae377ee2545ae70cf48d38e7eb4308c27ea</id>
<content type='text'>
Preliminary work to make IPv6 multicast routing netns-aware.

Dynamically allocate interface table vif_table and move it to
struct netns_ipv4, and update MIF_EXISTS() macro.

At the moment, vif_table is only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ipmr: allocate mroute_socket per-namespace.</title>
<updated>2009-01-22T21:57:34+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2009-01-22T04:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=70a269e6c9c9b38b1a37dce068c59e9a912f8578'/>
<id>urn:sha1:70a269e6c9c9b38b1a37dce068c59e9a912f8578</id>
<content type='text'>
Preliminary work to make IPv4 multicast routing netns-aware.

Make IPv4 multicast routing mroute_socket per-namespace,
moves it into struct netns_ipv4.

At the moment, mroute_socket is only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ip6mr: declare reg_vif_num per-namespace</title>
<updated>2008-12-11T00:29:24+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-12-11T00:29:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=950d5704e5daa1f90bcd75b99163491e7b249169'/>
<id>urn:sha1:950d5704e5daa1f90bcd75b99163491e7b249169</id>
<content type='text'>
Preliminary work to make IPv6 multicast forwarding netns-aware.

Declare variable 'reg_vif_num' per-namespace, moves into struct netns_ipv6.

At the moment, this variable is only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ip6mr: declare mroute_do_assert and mroute_do_pim per-namespace</title>
<updated>2008-12-11T00:28:44+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-12-11T00:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a21f3f997c73ced682129aedd372bb6b53041510'/>
<id>urn:sha1:a21f3f997c73ced682129aedd372bb6b53041510</id>
<content type='text'>
Preliminary work to make IPv6 multicast forwarding netns-aware.

Declare IPv6 multicast forwarding variables 'mroute_do_assert' and
'mroute_do_pim' per-namespace in struct netns_ipv6.

At the moment, these variables are only referenced in init_net.

Signed-off-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: ip6mr: declare counter cache_resolve_queue_len per-namespace</title>
<updated>2008-12-11T00:27:21+00:00</updated>
<author>
<name>Benjamin Thery</name>
<email>benjamin.thery@bull.net</email>
</author>
<published>2008-12-11T00:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4045e57c19bee150370390545ee8a933b3f7a18d'/>
<id>urn:sha1:4045e57c19bee150370390545ee8a933b3f7a18d</id>
<content type='text'>
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: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
