<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/ip_output.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-05-09T23:04:38Z</updated>
<entry>
<title>udp: Fix bogus UFO packet generation</title>
<updated>2011-05-09T23:04:38Z</updated>
<author>
<name>Herbert Xu</name>
</author>
<published>2010-06-15T01:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69c74edcf1b62177aa882a9570493ab77129cc1d'/>
<id>urn:sha1:69c74edcf1b62177aa882a9570493ab77129cc1d</id>
<content type='text'>
commit 26cde9f7e2747b6d254b704594eed87ab959afa5 upstream.

It has been reported that the new UFO software fallback path
fails under certain conditions with NFS.  I tracked the problem
down to the generation of UFO packets that are smaller than the
MTU.  The software fallback path simply discards these packets.

This patch fixes the problem by not generating such packets on
the UFO path.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Reviewed-by: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ip: fix truesize mismatch in ip fragmentation</title>
<updated>2011-03-21T19:43:19Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2010-09-21T08:47:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=107ed4220f8884e3ac026636dfc19c45b8fc990a'/>
<id>urn:sha1:107ed4220f8884e3ac026636dfc19c45b8fc990a</id>
<content type='text'>
[ Upstream commit 3d13008e7345fa7a79d8f6438150dc15d6ba6e9d ]

Special care should be taken when slow path is hit in ip_fragment() :

When walking through frags, we transfert truesize ownership from skb to
frags. Then if we hit a slow_path condition, we must undo this or risk
uncharging frags-&gt;truesize twice, and in the end, having negative socket
sk_wmem_alloc counter, or even freeing socket sooner than expected.

Many thanks to Nick Bowler, who provided a very clean bug report and
test program.

Thanks to Jarek for reviewing my first patch and providing a V2

While Nick bisection pointed to commit 2b85a34e911 (net: No more
expensive sock_hold()/sock_put() on each tx), underlying bug is older
(2.6.12-rc5)

A side effect is to extend work done in commit b2722b1c3a893e
(ip_fragment: also adjust skb-&gt;truesize for packets not owned by a
socket) to ipv6 as well.

Reported-and-bisected-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Tested-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Jarek Poplawski &lt;jarkao2@gmail.com&gt;
CC: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>ip: fix mc_loop checks for tunnels with multicast outer addresses</title>
<updated>2010-01-07T04:37:01Z</updated>
<author>
<name>Octavian Purdila</name>
</author>
<published>2010-01-07T04:37:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ad6848c7e81a603605fad3f3575841aab004eea'/>
<id>urn:sha1:7ad6848c7e81a603605fad3f3575841aab004eea</id>
<content type='text'>
When we have L3 tunnels with different inner/outer families
(i.e. IPV4/IPV6) which use a multicast address as the outer tunnel
destination address, multicast packets will be loopbacked back to the
sending socket even if IP*_MULTICAST_LOOP is set to disabled.

The mc_loop flag is present in the family specific part of the socket
(e.g. the IPv4 or IPv4 specific part).  setsockopt sets the inner
family mc_loop flag. When the packet is pushed through the L3 tunnel
it will eventually be processed by the outer family which if different
will check the flag in a different part of the socket then it was set.

Signed-off-by: Octavian Purdila &lt;opurdila@ixiacom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-12-02T06:13:38Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2009-12-02T06:13:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff9c38bba37937adb909cceb2a6521f2e92e17c6'/>
<id>urn:sha1:ff9c38bba37937adb909cceb2a6521f2e92e17c6</id>
<content type='text'>
Conflicts:
	net/mac80211/ht.c
</content>
</entry>
<entry>
<title>ip_fragment: also adjust skb-&gt;truesize for packets not owned by a socket</title>
<updated>2009-12-01T23:53:57Z</updated>
<author>
<name>Patrick McHardy</name>
</author>
<published>2009-12-01T23:53:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2722b1c3a893ec6021508da15b32282ec79f4da'/>
<id>urn:sha1:b2722b1c3a893ec6021508da15b32282ec79f4da</id>
<content type='text'>
When a large packet gets reassembled by ip_defrag(), the head skb
accounts for all the fragments in skb-&gt;truesize. If this packet is
refragmented again, skb-&gt;truesize is not re-adjusted to reflect only
the head size since its not owned by a socket. If the head fragment
then gets recycled and reused for another received fragment, it might
exceed the defragmentation limits due to its large truesize value.

skb_recycle_check() explicitly checks for linear skbs, so any recycled
skb should reflect its true size in skb-&gt;truesize. Change ip_fragment()
to also adjust the truesize value of skbs not owned by a socket.

Reported-and-tested-by: Ben Menchaca &lt;ben@bigfootnetworks.com&gt;
Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/ipv4: Move &amp;&amp; and || to end of previous line</title>
<updated>2009-11-23T18:41:23Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2009-11-23T18:41:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d4fb27db90043cd2640e4bc778f9c755d3c17c1'/>
<id>urn:sha1:9d4fb27db90043cd2640e4bc778f9c755d3c17c1</id>
<content type='text'>
On Sun, 2009-11-22 at 16:31 -0800, David Miller wrote:
&gt; It should be of the form:
&gt; 	if (x &amp;&amp;
&gt; 	    y)
&gt; 
&gt; or:
&gt; 	if (x &amp;&amp; y)
&gt; 
&gt; Fix patches, rather than complaints, for existing cases where things
&gt; do not follow this pattern are certainly welcome.

Also collapsed some multiple tabs to single space.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: rename some inet_sock fields</title>
<updated>2009-10-19T01:52:53Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2009-10-15T06:30:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c720c7e8383aff1cb219bddf474ed89d850336e3'/>
<id>urn:sha1:c720c7e8383aff1cb219bddf474ed89d850336e3</id>
<content type='text'>
In order to have better cache layouts of struct sock (separate zones
for rx/tx paths), we need this preliminary patch.

Goal is to transfert fields used at lookup time in the first
read-mostly cache line (inside struct sock_common) and move sk_refcnt
to a separate cache line (only written by rx path)

This patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,
sport and id fields. This allows a future patch to define these
fields as macros, like sk_refcnt, without name clashes.

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: Use sk_mark for routing lookup in more places</title>
<updated>2009-10-01T22:16:49Z</updated>
<author>
<name>Atis Elsts</name>
</author>
<published>2009-10-01T22:16:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=914a9ab386a288d0f22252fc268ecbc048cdcbd5'/>
<id>urn:sha1:914a9ab386a288d0f22252fc268ecbc048cdcbd5</id>
<content type='text'>
This patch against v2.6.31 adds support for route lookup using sk_mark in some 
more places. The benefits from this patch are the following.
First, SO_MARK option now has effect on UDP sockets too.
Second, ip_queue_xmit() and inet_sk_rebuild_header() could fail to do routing 
lookup correctly if TCP sockets with SO_MARK were used.

Signed-off-by: Atis Elsts &lt;atis@mikrotik.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6</title>
<updated>2009-09-14T17:37:28Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-09-14T17:37:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b'/>
<id>urn:sha1:d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)
  netxen: update copyright
  netxen: fix tx timeout recovery
  netxen: fix file firmware leak
  netxen: improve pci memory access
  netxen: change firmware write size
  tg3: Fix return ring size breakage
  netxen: build fix for INET=n
  cdc-phonet: autoconfigure Phonet address
  Phonet: back-end for autoconfigured addresses
  Phonet: fix netlink address dump error handling
  ipv6: Add IFA_F_DADFAILED flag
  net: Add DEVTYPE support for Ethernet based devices
  mv643xx_eth.c: remove unused txq_set_wrr()
  ucc_geth: Fix hangs after switching from full to half duplex
  ucc_geth: Rearrange some code to avoid forward declarations
  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs
  drivers/net/phy: introduce missing kfree
  drivers/net/wan: introduce missing kfree
  net: force bridge module(s) to be GPL
  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded
  ...

Fixed up trivial conflicts:

 - arch/x86/include/asm/socket.h

   converted to &lt;asm-generic/socket.h&gt; in the x86 tree.  The generic
   header has the same new #define's, so that works out fine.

 - drivers/net/tun.c

   fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that
   switched over to using 'tun-&gt;socket.sk' instead of the redundantly
   available (and thus removed) 'tun-&gt;sk', and 2b980dbd ("lsm: Add hooks
   to the TUN driver") which added a new 'tun-&gt;sk' use.

   Noted in 'next' by Stephen Rothwell.
</content>
</entry>
<entry>
<title>ip: Report qdisc packet drops</title>
<updated>2009-09-03T01:05:33Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2009-09-03T01:05:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e'/>
<id>urn:sha1:6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e</id>
<content type='text'>
Christoph Lameter pointed out that packet drops at qdisc level where not
accounted in SNMP counters. Only if application sets IP_RECVERR, drops
are reported to user (-ENOBUFS errors) and SNMP counters updated.

IP_RECVERR is used to enable extended reliable error message passing,
but these are not needed to update system wide SNMP stats.

This patch changes things a bit to allow SNMP counters to be updated,
regardless of IP_RECVERR being set or not on the socket.

Example after an UDP tx flood
# netstat -s 
...
IP:
    1487048 outgoing packets dropped
...
Udp:
...
    SndbufErrors: 1487048


send() syscalls, do however still return an OK status, to not
break applications.

Note : send() manual page explicitly says for -ENOBUFS error :

 "The output queue for a network interface was full.
  This generally indicates that the interface has stopped sending,
  but may be caused by transient congestion.
  (Normally, this does not occur in Linux. Packets are just silently
  dropped when a device queue overflows.) "

This is not true for IP_RECVERR enabled sockets : a send() syscall
that hit a qdisc drop returns an ENOBUFS error.

Many thanks to Christoph, David, and last but not least, Alexey !

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