<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ipv4/ip_output.c, branch v3.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-07-02T00:33:19Z</updated>
<entry>
<title>ipv4: Don't use ufo handling on later transformed packets</title>
<updated>2011-07-02T00:33:19Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2011-06-29T23:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c146066ab80267c3305de5dda6a4083f06df9265'/>
<id>urn:sha1:c146066ab80267c3305de5dda6a4083f06df9265</id>
<content type='text'>
We might call ip_ufo_append_data() for packets that will be IPsec
transformed later. This function should be used just for real
udp packets. So we check for rt-&gt;dst.header_len which is only
nonzero on IPsec handling and call ip_ufo_append_data() just
if rt-&gt;dst.header_len is zero.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Fix IPsec slowpath fragmentation problem</title>
<updated>2011-06-28T03:34:26Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2011-06-22T01:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=353e5c9abd900de3d1a40925386ffe4abf76111e'/>
<id>urn:sha1:353e5c9abd900de3d1a40925386ffe4abf76111e</id>
<content type='text'>
ip_append_data() builds packets based on the mtu from dst_mtu(rt-&gt;dst.path).
On IPsec the effective mtu is lower because we need to add the protocol
headers and trailers later when we do the IPsec transformations. So after
the IPsec transformations the packet might be too big, which leads to a
slowpath fragmentation then. This patch fixes this by building the packets
based on the lower IPsec mtu from dst_mtu(&amp;rt-&gt;dst) and adapts the exthdr
handling to this.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Fix packet size calculation in __ip_append_data</title>
<updated>2011-06-28T03:34:25Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2011-06-22T01:04:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=33f99dc7fd948bbc808a24a0989c167f8973b643'/>
<id>urn:sha1:33f99dc7fd948bbc808a24a0989c167f8973b643</id>
<content type='text'>
Git commit 59104f06 (ip: take care of last fragment in ip_append_data)
added a check to see if we exceed the mtu when we add trailer_len.
However, the mtu is already subtracted by the trailer length when the
xfrm transfomation bundles are set up. So IPsec packets with mtu
size get fragmented, or if the DF bit is set the packets will not
be send even though they match the mtu perfectly fine. This patch
actually reverts commit 59104f06.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Fix packet size calculation for raw IPsec packets in __ip_append_data</title>
<updated>2011-06-09T21:49:59Z</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2011-06-05T20:48:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=96d7303e9cfb6a9bc664174a4dfdb6fa689284fe'/>
<id>urn:sha1:96d7303e9cfb6a9bc664174a4dfdb6fa689284fe</id>
<content type='text'>
We assume that transhdrlen is positive on the first fragment
which is wrong for raw packets. So we don't add exthdrlen to the
packet size for raw packets. This leads to a reallocation on IPsec
because we have not enough headroom on the skb to place the IPsec
headers. This patch fixes this by adding exthdrlen to the packet
size whenever the send queue of the socket is empty. This issue was
introduced with git commit 1470ddf7 (inet: Remove explicit write
references to sk/inet in ip_append_data)

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Always call ip_options_build() after rest of IP header is filled in.</title>
<updated>2011-05-13T21:21:27Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-13T21:21:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=22f728f8f311659b068e73ed92833c205651a47f'/>
<id>urn:sha1:22f728f8f311659b068e73ed92833c205651a47f</id>
<content type='text'>
This will allow ip_options_build() to reliably look at the values of
iph-&gt;{daddr,saddr}

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Pass explicit daddr arg to ip_send_reply().</title>
<updated>2011-05-10T20:32:46Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-09T20:22:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a5ebb8000c5362be368df9d197943deb06b6916'/>
<id>urn:sha1:0a5ebb8000c5362be368df9d197943deb06b6916</id>
<content type='text'>
This eliminates an access to rt-&gt;rt_src.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Pass flow key down into ip_append_*().</title>
<updated>2011-05-09T04:24:07Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-09T00:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f5fca6086511294653a9e821f8e22f041415ba7b'/>
<id>urn:sha1:f5fca6086511294653a9e821f8e22f041415ba7b</id>
<content type='text'>
This way rt-&gt;rt_dst accesses are unnecessary.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Pass flow keys down into datagram packet building engine.</title>
<updated>2011-05-09T04:24:06Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-09T00:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=77968b78242ee25e2a4d759f0fca8dd52df6d479'/>
<id>urn:sha1:77968b78242ee25e2a4d759f0fca8dd52df6d479</id>
<content type='text'>
This way ip_output.c no longer needs rt-&gt;rt_{src,dst}.

We already have these keys sitting, ready and waiting, on the stack or
in a socket structure.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv4: Don't use rt-&gt;rt_{src,dst} in ip_queue_xmit().</title>
<updated>2011-05-08T22:28:28Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-07T05:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0'/>
<id>urn:sha1:ea4fc0d6193ff56fcef39b0d2210d402a7acb5f0</id>
<content type='text'>
Now we can pick it out of the provided flow key.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>inet: Pass flowi to -&gt;queue_xmit().</title>
<updated>2011-05-08T22:28:28Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-05-07T05:23:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d9d8da805dcb503ef8ee49918a94d49085060f23'/>
<id>urn:sha1:d9d8da805dcb503ef8ee49918a94d49085060f23</id>
<content type='text'>
This allows us to acquire the exact route keying information from the
protocol, however that might be managed.

It handles all of the possibilities, from the simplest case of storing
the key in inet-&gt;cork.fl to the more complex setup SCTP has where
individual transports determine the flow.

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