<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv6/syncookies.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-06-27T05:00:03Z</updated>
<entry>
<title>syncookies: add support for ECN</title>
<updated>2010-06-27T05:00:03Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2010-06-21T11:48:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=172d69e63c7f1e8300d0e1c1bbd8eb0f630faa15'/>
<id>urn:sha1:172d69e63c7f1e8300d0e1c1bbd8eb0f630faa15</id>
<content type='text'>
Allows use of ECN when syncookies are in effect by encoding ecn_ok
into the syn-ack tcp timestamp.

While at it, remove a uneeded #ifdef CONFIG_SYN_COOKIES.
With CONFIG_SYN_COOKIES=nm want_cookie is ifdef'd to 0 and gcc
removes the "if (0)".

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: do not store rcv_wscale in tcp timestamp</title>
<updated>2010-06-27T05:00:03Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2010-06-21T11:48:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=734f614bc1e7c6bf075d201f6bd9a555b8b4a984'/>
<id>urn:sha1:734f614bc1e7c6bf075d201f6bd9a555b8b4a984</id>
<content type='text'>
As pointed out by Fernando Gont there is no need to encode rcv_wscale
into the cookie.

We did not use the restored rcv_wscale anyway; it is recomputed
via tcp_select_initial_window().

Thus we can save 4 bits in the ts option space by removing rcv_wscale.
In case window scaling was not supported, we set the (invalid) wscale
value 0xf.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: check decoded options against sysctl settings</title>
<updated>2010-06-16T21:42:15Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2010-06-16T21:42:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c76368174ed2359739f1b7b8a9c042b1ef839c4'/>
<id>urn:sha1:8c76368174ed2359739f1b7b8a9c042b1ef839c4</id>
<content type='text'>
Discard the ACK if we find options that do not match current sysctl
settings.

Previously it was possible to create a connection with sack, wscale,
etc. enabled even if the feature was disabled via sysctl.

Also remove an unneeded call to tcp_sack_reset() in
cookie_check_timestamp: Both call sites (cookie_v4_check,
cookie_v6_check) zero "struct tcp_options_received", hand it to
tcp_parse_options() (which does not change tcp_opt-&gt;num_sacks/dsack)
and then call cookie_check_timestamp().

Even if num_sacks/dsacks were changed, the structure is allocated on
the stack and after cookie_check_timestamp returns only a few selected
members are copied to the inet_request_sock.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: update mss tables</title>
<updated>2010-06-05T09:23:15Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2010-06-03T00:43:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5918e2fb9035b35164002c3a268feaf70b7c04d5'/>
<id>urn:sha1:5918e2fb9035b35164002c3a268feaf70b7c04d5</id>
<content type='text'>
- ipv6 msstab: account for ipv6 header size
- ipv4 msstab: add mss for Jumbograms.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>syncookies: avoid unneeded tcp header flag double check</title>
<updated>2010-06-05T09:23:14Z</updated>
<author>
<name>Florian Westphal</name>
</author>
<published>2010-06-03T00:43:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af9b4738574b46025de7ccbe75c7b24fd8914379'/>
<id>urn:sha1:af9b4738574b46025de7ccbe75c7b24fd8914379</id>
<content type='text'>
caller: if (!th-&gt;rst &amp;&amp; !th-&gt;syn &amp;&amp; th-&gt;ack)
callee: if (!th-&gt;ack)

make the caller only check for !syn (common for 3whs), and move
the !rst / ack test to the callee.

Signed-off-by: Florian Westphal &lt;fw@strlen.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Refactor update of IPv6 flowi destination address for srcrt (RH) option</title>
<updated>2010-06-02T14:08:31Z</updated>
<author>
<name>Arnaud Ebalard</name>
</author>
<published>2010-06-01T21:35:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=20c59de2e6b6bc74bbf714dcd4e720afe8d516cf'/>
<id>urn:sha1:20c59de2e6b6bc74bbf714dcd4e720afe8d516cf</id>
<content type='text'>
There are more than a dozen occurrences of following code in the
IPv6 stack:

    if (opt &amp;&amp; opt-&gt;srcrt) {
            struct rt0_hdr *rt0 = (struct rt0_hdr *) opt-&gt;srcrt;
            ipv6_addr_copy(&amp;final, &amp;fl.fl6_dst);
            ipv6_addr_copy(&amp;fl.fl6_dst, rt0-&gt;addr);
            final_p = &amp;final;
    }

Replace those with a helper. Note that the helper overrides final_p
in all cases. This is ok as final_p was previously initialized to
NULL when declared.

Signed-off-by: Arnaud Ebalard &lt;arno@natisbad.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Add rtnetlink init_rcvwnd to set the TCP initial receive window</title>
<updated>2009-12-23T22:13:30Z</updated>
<author>
<name>laurent chavey</name>
</author>
<published>2009-12-15T11:15:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=31d12926e37291970dd4f6e9940df3897766a81d'/>
<id>urn:sha1:31d12926e37291970dd4f6e9940df3897766a81d</id>
<content type='text'>
Add rtnetlink init_rcvwnd to set the TCP initial receive window size
advertised by passive and active TCP connections.
The current Linux TCP implementation limits the advertised TCP initial
receive window to the one prescribed by slow start. For short lived
TCP connections used for transaction type of traffic (i.e. http
requests), bounding the advertised TCP initial receive window results
in increased latency to complete the transaction.
Support for setting initial congestion window is already supported
using rtnetlink init_cwnd, but the feature is useless without the
ability to set a larger TCP initial receive window.
The rtnetlink init_rcvwnd allows increasing the TCP initial receive
window, allowing TCP connection to advertise larger TCP receive window
than the ones bounded by slow start.

Signed-off-by: Laurent Chavey &lt;chavey@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tcp: Revert per-route SACK/DSACK/TIMESTAMP changes.</title>
<updated>2009-12-16T04:56:42Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2009-12-16T04:56:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bb5b7c11263dbbe78253cd05945a6bf8f55add8e'/>
<id>urn:sha1:bb5b7c11263dbbe78253cd05945a6bf8f55add8e</id>
<content type='text'>
It creates a regression, triggering badness for SYN_RECV
sockets, for example:

[19148.022102] Badness at net/ipv4/inet_connection_sock.c:293
[19148.022570] NIP: c02a0914 LR: c02a0904 CTR: 00000000
[19148.023035] REGS: eeecbd30 TRAP: 0700   Not tainted  (2.6.32)
[19148.023496] MSR: 00029032 &lt;EE,ME,CE,IR,DR&gt;  CR: 24002442  XER: 00000000
[19148.024012] TASK = eee9a820[1756] 'privoxy' THREAD: eeeca000

This is likely caused by the change in the 'estab' parameter
passed to tcp_parse_options() when invoked by the functions
in net/ipv4/tcp_minisocks.c

But even if that is fixed, the -&gt;conn_request() changes made in
this patch series is fundamentally wrong.  They try to use the
listening socket's 'dst' to probe the route settings.  The
listening socket doesn't even have a route, and you can't
get the right route (the child request one) until much later
after we setup all of the state, and it must be done by hand.

This stuff really isn't ready, so the best thing to do is a
full revert.  This reverts the following commits:

f55017a93f1a74d50244b1254b9a2bd7ac9bbf7d
022c3f7d82f0f1c68018696f2f027b87b9bb45c2
1aba721eba1d84a2defce45b950272cee1e6c72a
cda42ebd67ee5fdf09d7057b5a4584d36fe8a335
345cda2fd695534be5a4494f1b59da9daed33663
dc343475ed062e13fc260acccaab91d7d80fd5b2
05eaade2782fb0c90d3034fd7a7d5a16266182bb
6a2a2d6bf8581216e08be15fcb563cfd6c430e1e

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>TCPCT part 1g: Responder Cookie =&gt; Initiator</title>
<updated>2009-12-03T06:07:26Z</updated>
<author>
<name>William Allen Simpson</name>
</author>
<published>2009-12-02T18:25:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4957faade11b3a278c3b3cade3411ddc20afa791'/>
<id>urn:sha1:4957faade11b3a278c3b3cade3411ddc20afa791</id>
<content type='text'>
Parse incoming TCP_COOKIE option(s).

Calculate &lt;SYN,ACK&gt; TCP_COOKIE option.

Send optional &lt;SYN,ACK&gt; data.

This is a significantly revised implementation of an earlier (year-old)
patch that no longer applies cleanly, with permission of the original
author (Adam Langley):

    http://thread.gmane.org/gmane.linux.network/102586

Requires:
   TCPCT part 1a: add request_values parameter for sending SYNACK
   TCPCT part 1b: generate Responder Cookie secret
   TCPCT part 1c: sysctl_tcp_cookie_size, socket option TCP_COOKIE_TRANSACTIONS
   TCPCT part 1d: define TCP cookie option, extend existing struct's
   TCPCT part 1e: implement socket option TCP_COOKIE_TRANSACTIONS
   TCPCT part 1f: Initiator Cookie =&gt; Responder

Signed-off-by: William.Allen.Simpson@gmail.com
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Allow tcp_parse_options to consult dst entry</title>
<updated>2009-10-29T08:28:41Z</updated>
<author>
<name>Gilad Ben-Yossef</name>
</author>
<published>2009-10-28T04:15:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=022c3f7d82f0f1c68018696f2f027b87b9bb45c2'/>
<id>urn:sha1:022c3f7d82f0f1c68018696f2f027b87b9bb45c2</id>
<content type='text'>
We need tcp_parse_options to be aware of dst_entry to
take into account per dst_entry TCP options settings

Signed-off-by: Gilad Ben-Yossef &lt;gilad@codefidence.com&gt;
Sigend-off-by: Ori Finkelman &lt;ori@comsleep.com&gt;
Sigend-off-by: Yony Amit &lt;yony@comsleep.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
