<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/net/ip6_fib.h, branch linux-2.6.25.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-02-08T02:11:49Z</updated>
<entry>
<title>[IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h</title>
<updated>2008-02-08T02:11:49Z</updated>
<author>
<name>Rami Rosen</name>
</author>
<published>2008-02-08T02:11:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4e881a217bd1403960eb8f32297ba9d226c6d5ae'/>
<id>urn:sha1:4e881a217bd1403960eb8f32297ba9d226c6d5ae</id>
<content type='text'>
This patch removes some unused definitions and one method typedef
declaration (f_pnode)
in include/net/ip6_fib.h, as they are not used in the kernel.

Signed-off-by: Rami Rosen &lt;ramirose@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[XFRM] IPv6: Fix dst/routing check at transformation.</title>
<updated>2008-01-28T22:59:36Z</updated>
<author>
<name>Masahide NAKAMURA</name>
</author>
<published>2007-12-21T04:41:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a1b051405bc16222d92c73b0c26d65b333a154ee'/>
<id>urn:sha1:a1b051405bc16222d92c73b0c26d65b333a154ee</id>
<content type='text'>
IPv6 specific thing is wrongly removed from transformation at net-2.6.25.
This patch recovers it with current design.

o Update "path" of xfrm_dst since IPv6 transformation should
  care about routing changes. It is required by MIPv6 and
  off-link destined IPsec.
o Rename nfheader_len which is for non-fragment transformation used by
  MIPv6 to rt6i_nfheader_len as IPv6 name space.

Signed-off-by: Masahide NAKAMURA &lt;nakam@linux-ipv6.org&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: route6 remove ifdef for fib_rules</title>
<updated>2008-01-28T22:56:59Z</updated>
<author>
<name>Daniel Lezcano</name>
</author>
<published>2007-12-08T08:14:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7e5449c21562f1554d2c355db1ec9d3e4f434288'/>
<id>urn:sha1:7e5449c21562f1554d2c355db1ec9d3e4f434288</id>
<content type='text'>
The patch defines the usual static inline functions when the code is
disabled for fib6_rules. That's allow to remove some ifdef in route.c
file and make the code a little more clear.

Signed-off-by: Daniel Lezcano &lt;dlezcano@fr.ibm.com&gt;
Acked-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Make fib6_rules_init to return an error code.</title>
<updated>2008-01-28T22:56:46Z</updated>
<author>
<name>Daniel Lezcano</name>
</author>
<published>2007-12-07T08:42:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9eb87f3f7e0686a256c5bb4f886dede0171245f2'/>
<id>urn:sha1:9eb87f3f7e0686a256c5bb4f886dede0171245f2</id>
<content type='text'>
When the fib_rules initialization finished, no return code is provided
so there is no way to know, for the caller, if the initialization has
been successful or has failed. This patch fix that.

Signed-off-by: Daniel Lezcano &lt;dlezcano@fr.ibm.com&gt;
Acked-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Make fib6_init to return an error code.</title>
<updated>2008-01-28T22:56:45Z</updated>
<author>
<name>Daniel Lezcano</name>
</author>
<published>2007-12-07T08:40:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d63bddbe90c4fd924b2155ca92a879393d856170'/>
<id>urn:sha1:d63bddbe90c4fd924b2155ca92a879393d856170</id>
<content type='text'>
If there is an error in the initialization function, nothing is
followed up to the caller. So I add a return value to be set for the
init function.

Signed-off-by: Daniel Lezcano &lt;dlezcano@fr.ibm.com&gt;
Acked-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Move nfheader_len into rt6_info</title>
<updated>2008-01-28T22:53:37Z</updated>
<author>
<name>Herbert Xu</name>
</author>
<published>2007-11-14T05:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b'/>
<id>urn:sha1:b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b</id>
<content type='text'>
The dst member nfheader_len is only used by IPv6.  It's also currently
creating a rather ugly alignment hole in struct dst.  Therefore this patch
moves it from there into struct rt6_info.

It also reorders the fields in rt6_info to minimize holes.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6] XFRM: Fix connected socket to use transformation.</title>
<updated>2007-10-10T23:48:32Z</updated>
<author>
<name>Noriaki TAKAMIYA</name>
</author>
<published>2007-09-06T10:31:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a47ed4cd8cb0709723392f5b841e9015f765d0a6'/>
<id>urn:sha1:a47ed4cd8cb0709723392f5b841e9015f765d0a6</id>
<content type='text'>
When XFRM policy and state are ready after TCP connection is started,
the traffic should be transformed immediately, however it does not
on IPv6 TCP.

It depends on a dst cache replacement policy with connected socket.
It seems that the replacement is always done for IPv4, however, on
IPv6 case it is done only when routing cookie is changed.

This patch fix that non-transformation dst can be changed to
transformation one.
This behavior is required by MIPv6 and improves IPv6 IPsec.

Fixes by Masahide NAKAMURA.

Signed-off-by: Noriaki TAKAMIYA &lt;takamiya@po.ntts.co.jp&gt;
Signed-off-by: Masahide NAKAMURA &lt;nakam@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPv6]: Use rtnl registration interface</title>
<updated>2007-04-26T05:27:13Z</updated>
<author>
<name>Thomas Graf</name>
</author>
<published>2007-03-22T18:58:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c127ea2c45d1b13a672fde254679721bb282e90a'/>
<id>urn:sha1:c127ea2c45d1b13a672fde254679721bb282e90a</id>
<content type='text'>
Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Fix routing round-robin locking.</title>
<updated>2007-03-26T01:48:05Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2007-03-25T03:36:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f11e6659ce9058928d73ff440f9b40a818d628ab'/>
<id>urn:sha1:f11e6659ce9058928d73ff440f9b40a818d628ab</id>
<content type='text'>
As per RFC2461, section 6.3.6, item #2, when no routers on the
matching list are known to be reachable or probably reachable we
do round robin on those available routes so that we make sure
to probe as many of them as possible to detect when one becomes
reachable faster.

Each routing table has a rwlock protecting the tree and the linked
list of routes at each leaf.  The round robin code executes during
lookup and thus with the rwlock taken as a reader.  A small local
spinlock tries to provide protection but this does not work at all
for two reasons:

1) The round-robin list manipulation, as coded, goes like this (with
   read lock held):

	walk routes finding head and tail

	spin_lock();
	rotate list using head and tail
	spin_unlock();

   While one thread is rotating the list, another thread can
   end up with stale values of head and tail and then proceed
   to corrupt the list when it gets the lock.  This ends up causing
   the OOPS in fib6_add() later onthat many people have been hitting.

2) All the other code paths that run with the rwlock held as
   a reader do not expect the list to change on them, they
   expect it to remain completely fixed while they hold the
   lock in that way.

So, simply stated, it is impossible to implement this correctly using
a manipulation of the list without violating the rwlock locking
semantics.

Reimplement using a per-fib6_node round-robin pointer.  This way we
don't need to manipulate the list at all, and since the round-robin
pointer can only ever point to real existing entries we don't need
to perform any locking on the changing of the round-robin pointer
itself.  We only need to reset the round-robin pointer to NULL when
the entry it is pointing to is removed.

The idea is from Thomas Graf and it is very similar to how this
was implemented before the advanced router selection code when in.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Convert ipv6 route to use the new dst_entry 'next' pointer</title>
<updated>2007-02-11T07:20:40Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2007-02-10T00:22:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7cc482634f1f1e1db5401007658c8e8d6cf1617d'/>
<id>urn:sha1:7cc482634f1f1e1db5401007658c8e8d6cf1617d</id>
<content type='text'>
This patch removes the next pointer from 'struct rt6_info.u' union,
and renames u.next to u.dst.rt6_next.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
