<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv6/icmp.c, branch linux-2.6.23.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.23.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-07-15T06:53:08Z</updated>
<entry>
<title>[IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets</title>
<updated>2007-07-15T06:53:08Z</updated>
<author>
<name>Dmitry Butskoy</name>
</author>
<published>2007-07-15T06:53:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f13ec93fba60d339dc1663eb47b2fb801225d2d2'/>
<id>urn:sha1:f13ec93fba60d339dc1663eb47b2fb801225d2d2</id>
<content type='text'>
From: Dmitry Butskoy &lt;dmitry@butskoy.name&gt;

Taken from http://bugzilla.kernel.org/show_bug.cgi?id=8747

Problem Description:

It is related to the possibility to obtain MSG_ERRQUEUE messages from the udp
and raw sockets, both connected and unconnected.

There is a little typo in net/ipv6/icmp.c code, which prevents such messages
to be delivered to the errqueue of the correspond raw socket, when the socket
is CONNECTED.  The typo is due to swap of local/remote addresses.

Consider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is
looked up usual way, it is something like:

sk = __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)-&gt;iif);

where "daddr" is a destination address of the incoming packet (IOW our local
address), "saddr" is a source address of the incoming packet (the remote end).

But when the raw socket is looked up for some icmp error report, in
net/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed
fragment of the "bad" packet, i.e.  "daddr" is the original destination
address of that packet, "saddr" is our local address.  Hence, for
icmpv6_notify() must use "saddr, daddr" in its arguments, not "daddr, saddr"
...

Steps to reproduce:

Create some raw socket, connect it to an address, and cause some error
situation: f.e. set ttl=1 where the remote address is more than 1 hop to reach.
Set IPV6_RECVERR .
Then send something and wait for the error (f.e. poll() with POLLERR|POLLIN).
You should receive "time exceeded" icmp message (because of "ttl=1"), but the
socket do not receive it.

If you do not connect your raw socket, you will receive MSG_ERRQUEUE
successfully.  (The reason is that for unconnected socket there are no actual
checks for local/remote addresses).

Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6] MIP6: Loadable module support for MIPv6.</title>
<updated>2007-07-11T05:15:42Z</updated>
<author>
<name>Masahide NAKAMURA</name>
</author>
<published>2007-06-27T06:56:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59fbb3a61e02deaeaa4fb50792217921f3002d64'/>
<id>urn:sha1:59fbb3a61e02deaeaa4fb50792217921f3002d64</id>
<content type='text'>
This patch makes MIPv6 loadable module named "mip6".

Here is a modprobe.conf(5) example to load it automatically
when user application uses XFRM state for MIPv6:

alias xfrm-type-10-43 mip6
alias xfrm-type-10-60 mip6

Some MIPv6 feature is not included by this modular, however,
it should not be affected to other features like either IPsec
or IPv6 with and without the patch.
We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt
separately for future work.

Loadable features:
* MH receiving check (to send ICMP error back)
* RO header parsing and building (i.e. RH2 and HAO in DSTOPTS)
* XFRM policy/state database handling for RO

These are NOT covered as loadable:
* Home Address flags and its rule on source address selection
* XFRM sub policy (depends on its own kernel option)
* XFRM functions to receive RO as IPv6 extension header
* MH sending/receiving through raw socket if user application
  opens it (since raw socket allows to do so)
* RH2 sending as ancillary data
* RH2 operation with setsockopt(2)

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>[NET]: cleanup extra semicolons</title>
<updated>2007-04-26T05:29:24Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2007-04-21T00:09:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3ff50b7997fe06cd5d276b229967bb52d6b3b6c1'/>
<id>urn:sha1:3ff50b7997fe06cd5d276b229967bb52d6b3b6c1</id>
<content type='text'>
Spring cleaning time...

There seems to be a lot of places in the network code that have
extra bogus semicolons after conditionals.  Most commonly is a
bogus semicolon after: switch() { }

Signed-off-by: Stephen Hemminger &lt;shemminger@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Convert skb-&gt;tail to sk_buff_data_t</title>
<updated>2007-04-26T05:26:28Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-04-20T03:29:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26'/>
<id>urn:sha1:27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26</id>
<content type='text'>
So that it is also an offset from skb-&gt;head, reduces its size from 8 to 4 bytes
on 64bit architectures, allowing us to combine the 4 bytes hole left by the
layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
:-)

Many calculations that previously required that skb-&gt;{transport,network,
mac}_header be first converted to a pointer now can be done directly, being
meaningful as offsets or pointers.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[ICMP6]: Introduce icmp6_hdr()</title>
<updated>2007-04-26T05:25:20Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-03-13T17:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cc70ab261c9f997589546100ddec5da6bfd89c4e'/>
<id>urn:sha1:cc70ab261c9f997589546100ddec5da6bfd89c4e</id>
<content type='text'>
For consistency with all the other skb-&gt;h.raw accessors.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce ipv6_hdr(), remove skb-&gt;nh.ipv6h</title>
<updated>2007-04-26T05:25:14Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-04-26T00:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0660e03f6b18f19b6bbafe7583265a51b90daf36'/>
<id>urn:sha1:0660e03f6b18f19b6bbafe7583265a51b90daf36</id>
<content type='text'>
Now the skb-&gt;nh union has just one member, .raw, i.e. it is just like the
skb-&gt;mac union, strange, no? I'm just leaving it like that till the transport
layer is done with, when we'll rename skb-&gt;mac.raw to skb-&gt;mac_header (or
-&gt;mac_header_offset?), ditto for -&gt;{h,nh}.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_network_header()</title>
<updated>2007-04-26T05:24:59Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-04-11T03:50:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc'/>
<id>urn:sha1:d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc</id>
<content type='text'>
For the places where we need a pointer to the network header, it is still legal
to touch skb-&gt;nh.raw directly if just adding to, subtracting from or setting it
to another layer header.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_network_offset()</title>
<updated>2007-04-26T05:24:58Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-03-11T01:16:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bbe735e4247dba32568a305553b010081c8dea99'/>
<id>urn:sha1:bbe735e4247dba32568a305553b010081c8dea99</id>
<content type='text'>
For the quite common 'skb-&gt;nh.raw - skb-&gt;data' sequence.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Decentralize EXPORT_SYMBOLs.</title>
<updated>2007-04-26T05:23:36Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
</author>
<published>2007-02-22T13:05:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7159039a128fa0a73ca7b532f6e1d30d9885277f'/>
<id>urn:sha1:7159039a128fa0a73ca7b532f6e1d30d9885277f</id>
<content type='text'>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] remove many unneeded #includes of sched.h</title>
<updated>2007-02-14T16:09:54Z</updated>
<author>
<name>Tim Schmielau</name>
</author>
<published>2007-02-14T08:33:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd354f1ae75e6466a7e31b727faede57a1f89ca5'/>
<id>urn:sha1:cd354f1ae75e6466a7e31b727faede57a1f89ca5</id>
<content type='text'>
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there.  Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm.  I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau &lt;tim@physik3.uni-rostock.de&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
