<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ipv4/ip_output.c, branch v3.2.38</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/ipv4/ip_output.c?h=v3.2.38</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/ipv4/ip_output.c?h=v3.2.38'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-10-24T07:06:21Z</updated>
<entry>
<title>ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT</title>
<updated>2011-10-24T07:06:21Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-10-24T07:06:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=66b13d99d96a1a69f47a6bc3dc47f45955967377'/>
<id>urn:sha1:66b13d99d96a1a69f47a6bc3dc47f45955967377</id>
<content type='text'>
There is a long standing bug in linux tcp stack, about ACK messages sent
on behalf of TIME_WAIT sockets.

In the IP header of the ACK message, we choose to reflect TOS field of
incoming message, and this might break some setups.

Example of things that were broken :
  - Routing using TOS as a selector
  - Firewalls
  - Trafic classification / shaping

We now remember in timewait structure the inet tos field and use it in
ACK generation, and route lookup.

Notes :
 - We still reflect incoming TOS in RST messages.
 - We could extend MuraliRaja Muniraju patch to report TOS value in
netlink messages for TIME_WAIT sockets.
 - A patch is needed for IPv6

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: add skb frag size accessors</title>
<updated>2011-10-19T07:10:46Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-10-18T21:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9e903e085262ffbf1fc44a17ac06058aca03524a'/>
<id>urn:sha1:9e903e085262ffbf1fc44a17ac06058aca03524a</id>
<content type='text'>
To ease skb-&gt;truesize sanitization, its better to be able to localize
all references to skb frags size.

Define accessors : skb_frag_size() to fetch frag size, and
skb_frag_size_{set|add|sub}() to manipulate it.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ipv4: convert to SKB frag APIs</title>
<updated>2011-08-25T00:52:11Z</updated>
<author>
<name>Ian Campbell</name>
<email>Ian.Campbell@citrix.com</email>
</author>
<published>2011-08-22T23:44:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aff65da0f1be5daec44231972b6b5fc45bfa7a58'/>
<id>urn:sha1:aff65da0f1be5daec44231972b6b5fc45bfa7a58</id>
<content type='text'>
Signed-off-by: Ian Campbell &lt;ian.campbell@citrix.com&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Alexey Kuznetsov &lt;kuznet@ms2.inr.ac.ru&gt;
Cc: "Pekka Savola (ipv6)" &lt;pekkas@netcore.fi&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Cc: Hideaki YOSHIFUJI &lt;yoshfuji@linux-ipv6.org&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: netdev@vger.kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: use dst with ref during bcast/mcast loopback</title>
<updated>2011-08-08T05:52:32Z</updated>
<author>
<name>Julian Anastasov</name>
<email>ja@ssi.bg</email>
</author>
<published>2011-08-07T10:17:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d52fbfc9e5c7bb0b0dbc256edf17dee170ce839d'/>
<id>urn:sha1:d52fbfc9e5c7bb0b0dbc256edf17dee170ce839d</id>
<content type='text'>
Make sure skb dst has reference when moving to
another context. Currently, I don't see protocols that can
hit it when sending broadcasts/multicasts to loopback using
noref dsts, so it is just a precaution.

Signed-off-by: Julian Anastasov &lt;ja@ssi.bg&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: fix NULL dereferences in check_peer_redir()</title>
<updated>2011-08-03T10:34:12Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-07-29T19:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f2c31e32b378a6653f8de606149d963baf11d7d3'/>
<id>urn:sha1:f2c31e32b378a6653f8de606149d963baf11d7d3</id>
<content type='text'>
Gergely Kalman reported crashes in check_peer_redir().

It appears commit f39925dbde778 (ipv4: Cache learned redirect
information in inetpeer.) added a race, leading to possible NULL ptr
dereference.

Since we can now change dst neighbour, we should make sure a reader can
safely use a neighbour.

Add RCU protection to dst neighbour, and make sure check_peer_redir()
can be called safely by different cpus in parallel.

As neighbours are already freed after one RCU grace period, this patch
should not add typical RCU penalty (cache cold effects)

Many thanks to Gergely for providing a pretty report pointing to the
bug.

Reported-by: Gergely Kalman &lt;synapse@hippy.csoma.elte.hu&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Constrain UFO fragment sizes to multiples of 8 bytes</title>
<updated>2011-07-22T04:31:41Z</updated>
<author>
<name>Bill Sommerfeld</name>
<email>wsommerfeld@google.com</email>
</author>
<published>2011-07-19T15:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d9be4f7a6f5a8da3133b832eca41c3591420b1ca'/>
<id>urn:sha1:d9be4f7a6f5a8da3133b832eca41c3591420b1ca</id>
<content type='text'>
Because the ip fragment offset field counts 8-byte chunks, ip
fragments other than the last must contain a multiple of 8 bytes of
payload.  ip_ufo_append_data wasn't respecting this constraint and,
depending on the MTU and ip option sizes, could create malformed
non-final fragments.

Google-Bug-Id: 5009328
Signed-off-by: Bill Sommerfeld &lt;wsommerfeld@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Abstract dst-&gt;neighbour accesses behind helpers.</title>
<updated>2011-07-18T06:11:35Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-07-18T06:09:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=69cce1d1404968f78b177a0314f5822d5afdbbfb'/>
<id>urn:sha1:69cce1d1404968f78b177a0314f5822d5afdbbfb</id>
<content type='text'>
dst_{get,set}_neighbour()

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Create and use new helper, neigh_output().</title>
<updated>2011-07-17T00:26:00Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-07-17T00:26:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=05e3aa0949c138803185f92bd7db9be59cfca1be'/>
<id>urn:sha1:05e3aa0949c138803185f92bd7db9be59cfca1be</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Use calculated 'neigh' instead of re-evaluating dst-&gt;neighbour</title>
<updated>2011-07-16T21:25:54Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-07-16T21:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fec8292d9cb662274b583c5c69fdfa6932e593a5'/>
<id>urn:sha1:fec8292d9cb662274b583c5c69fdfa6932e593a5</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Embed hh_cache inside of struct neighbour.</title>
<updated>2011-07-14T14:53:20Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-07-14T14:53:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f6b72b6217f8c24f2a54988e58af858b4e66024d'/>
<id>urn:sha1:f6b72b6217f8c24f2a54988e58af858b4e66024d</id>
<content type='text'>
Now that there is a one-to-one correspondance between neighbour
and hh_cache entries, we no longer need:

1) dynamic allocation
2) attachment to dst-&gt;hh
3) refcounting

Initialization of the hh_cache entry is indicated by hh_len
being non-zero, and such initialization is always done with
the neighbour's lock held as a writer.

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