<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/dccp/output.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-20T06:36:47Z</updated>
<entry>
<title>dccp: Port redirection support for DCCP</title>
<updated>2008-10-20T06:36:47Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2008-10-20T06:36:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=944f750227fa0beb2b440709687415621e2533a4'/>
<id>urn:sha1:944f750227fa0beb2b440709687415621e2533a4</id>
<content type='text'>
Commit a3116ac5c216fc3c145906a46df9ce542ff7dcf2 from 1st October ("tcp: Port
redirection support for TCP") broke DCCP skb lookup by changing inet_csk_clone,
which is used by DCCP to generate the child socket after the handshake.

This patch updates DCCP to use 'loc_port' instead of 'sport', which fixes the
problem, and thus inheriting port redirection support via the new interface.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: KOVACS Krisztian &lt;hidden@sch.bme.hu&gt;
Acked-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>dccp: Bug-Fix - AWL was never updated</title>
<updated>2008-07-26T10:59:10Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2008-07-26T10:59:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73f18fdbca3f92b90aeaee16f5175fe30496e218'/>
<id>urn:sha1:73f18fdbca3f92b90aeaee16f5175fe30496e218</id>
<content type='text'>
The AWL lower Ack validity window advances in proportion to GSS, the greatest
sequence number sent. Updating AWL other than at connection setup (in the
DCCP-Request sent by dccp_v{4,6}_connect()) was missing in the DCCP code.

This bug lead to syslog messages such as

 "kernel: dccp_check_seqno: DCCP: Step 6 failed for DATAACK packet, [...] 
  P.ackno exists or LAWL(82947089) &lt;= P.ackno(82948208)
                                   &lt;= S.AWH(82948728), sending SYNC..."

The difference between AWL/AWH here is 1639 packets, while the expected value
(the Sequence Window) would have been 100 (the default).  A closer look showed
that LAWL = AWL = 82947089 equalled the ISS on the Response.

The patch now updates AWL with each increase of GSS.


Further changes:
----------------
The patch also enforces more stringent checks on the ISS sequence number:

 * AWL is initialised to ISS at connection setup and remains at this value;
 * AWH is then always set to GSS (via dccp_update_gss());
 * so on the first Request: AWL =      AWH = ISS,
   and on the n-th Request: AWL = ISS, AWH = ISS + n.

As a consequence, only Response packets that refer to Requests sent by this
host will pass, all others are discarded. This is the intention and in effect 
implements the initial adjustments for AWL as specified in RFC 4340, 7.5.1.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;   
Acked-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
</content>
</entry>
<entry>
<title>dccp: Allow to distinguish original and retransmitted packets</title>
<updated>2008-07-26T10:59:09Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2008-07-26T10:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59435444a13ed52d3444c5df26b73d3086bcd57b'/>
<id>urn:sha1:59435444a13ed52d3444c5df26b73d3086bcd57b</id>
<content type='text'>
This patch allows the sender to distinguish original and retransmitted packets,
which is in particular needed for the retransmission of DCCP-Requests:
 * the first Request uses ISS (generated in net/dccp/ip*.c), and sets GSS = ISS;
 * all retransmitted Requests use GSS' = GSS + 1, so that the n-th retransmitted
   Request has sequence number ISS + n (mod 48).

To add generic support, the patch reorganises existing code so that:
 * icsk_retransmits == 0     for the original packet and
 * icsk_retransmits = n &gt; 0  for the n-th retransmitted packet
at the time dccp_transmit_skb() is called, via dccp_retransmit_skb().
 
Thanks to Wei Yongjun for pointing this problem out.

Further changes:
----------------
 * removed the `skb' argument from dccp_retransmit_skb(), since sk_send_head
   is used for all retransmissions (the exception is client-Acks in PARTOPEN
   state, but these do not use sk_send_head);
 * since sk_send_head always contains the original skb (via dccp_entail()),
   skb_cloned() never evaluated to true and thus pskb_copy() was never used.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
</content>
</entry>
<entry>
<title>dccp: Fix sparse warnings</title>
<updated>2008-06-11T10:19:09Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2008-06-11T10:19:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b'/>
<id>urn:sha1:1e2f0e5e8376f2a0ada8760fc9d3104e1a81382b</id>
<content type='text'>
This patch fixes the following sparse warnings:
 * nested min(max()) expression:
   net/dccp/ccids/ccid3.c:91:21: warning: symbol '__x' shadows an earlier one
   net/dccp/ccids/ccid3.c:91:21: warning: symbol '__y' shadows an earlier one
   
 * Declaration of function prototypes in .c instead of .h file, resulting in
   "should it be static?" warnings. 

 * Declared "struct dccpw" static (local to dccp_probe).
 
 * Disabled dccp_delayed_ack() - not fully removed due to RFC 4340, 11.3
   ("Receivers SHOULD implement delayed acknowledgement timers ...").

 * Used a different local variable name to avoid
   net/dccp/ackvec.c:293:13: warning: symbol 'state' shadows an earlier one
   net/dccp/ackvec.c:238:33: originally declared here

 * Removed unused functions `dccp_ackvector_print' and `dccp_ackvec_print'.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2008-04-14T09:30:23Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-04-14T09:30:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df39e8ba56a788733d369068c7319e04b1da3cd5'/>
<id>urn:sha1:df39e8ba56a788733d369068c7319e04b1da3cd5</id>
<content type='text'>
Conflicts:

	drivers/net/ehea/ehea_main.c
	drivers/net/wireless/iwlwifi/Kconfig
	drivers/net/wireless/rt2x00/rt61pci.c
	net/ipv4/inet_timewait_sock.c
	net/ipv6/raw.c
	net/mac80211/ieee80211_sta.c
</content>
</entry>
<entry>
<title>[DCCP]: Fix skb-&gt;cb conflicts with IP</title>
<updated>2008-04-13T01:35:41Z</updated>
<author>
<name>Patrick McHardy</name>
</author>
<published>2008-04-13T01:35:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=028b027524b162eef90839a92ba4b8bddf23e06c'/>
<id>urn:sha1:028b027524b162eef90839a92ba4b8bddf23e06c</id>
<content type='text'>
dev_queue_xmit() and the other IP output functions expect to get a skb
with clear or properly initialized skb-&gt;cb. Unlike TCP and UDP, the
dccp_skb_cb doesn't contain a struct inet_skb_parm at the beginning,
so the DCCP-specific data is interpreted by the IP output functions.
This can cause false negatives for the conditional POST_ROUTING hook
invocation, making the packet bypass the hook.

Add a inet_skb_parm/inet6_skb_parm union to the beginning of
dccp_skb_cb to avoid clashes. Also add a BUILD_BUG_ON to make
sure it fits in the cb.

[ Combined with patch from Gerrit Renker to remove two now unnecessary
  memsets of IPCB(skb)-&gt;opt ]

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Acked-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>[DCCP]: Replace socket with sock for reset sending.</title>
<updated>2008-04-03T21:20:52Z</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2008-04-03T21:20:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7630f026810a63464e47391ab1e03674c33eb1b8'/>
<id>urn:sha1:7630f026810a63464e47391ab1e03674c33eb1b8</id>
<content type='text'>
Replace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP.

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Acked-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>[DCCP]: Introducing CCMPS</title>
<updated>2008-01-28T22:57:59Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-14T01:37:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6179983ad30c43313e153b35af52bd9ebd7745c3'/>
<id>urn:sha1:6179983ad30c43313e153b35af52bd9ebd7745c3</id>
<content type='text'>
This introduces a CCMPS field for setting a CCID-specific upper bound on the application payload
size, as is defined in RFC 4340, section 14.

Only the TX CCID is considered in setting this limit, since the RX CCID generates comparatively
small (DCCP-Ack) feedback packets. The CCMPS field includes network and transport layer header
lengths. The only current CCMPS customer is CCID4 (via RFC 4828).

A wrapper is used to allow querying the CCMPS even at times where the CCID modules may not have
been fully negotiated yet.

In dccp_sync_mss() the variable `mss_now' has been renamed into `cur_mps', to reflect that we are
dealing with an MPS, but not an MSS.
Since the DCCP code closely follows the TCP code, the identifiers `dccp_sync_mss' and
`dccps_mss_cache' have been kept, as they have direct TCP counterparts.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
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>[DCCP]: Support inserting options during the 3-way handshake</title>
<updated>2008-01-28T22:57:52Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-13T14:38:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af3b867e2f6b72422bc7aacb1f1e26f47a9649bc'/>
<id>urn:sha1:af3b867e2f6b72422bc7aacb1f1e26f47a9649bc</id>
<content type='text'>
This provides a separate routine to insert options during the initial handshake.
The main purpose is to conduct feature negotiation, for the moment the only user
is the timestamp echo needed for the (CCID3) handshake RTT sample.

Padding of options has been put into a small separate routine, to be shared among
the two functions. This could also be used as a generic routine to finish inserting
options.

Also removed an `XXX' comment since its content was obvious.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
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>[DCCP]: Support for server holding timewait state</title>
<updated>2008-01-28T22:57:48Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-13T14:25:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8599d20708fa3bde1e414689f3474560c2d990b'/>
<id>urn:sha1:b8599d20708fa3bde1e414689f3474560c2d990b</id>
<content type='text'>
This adds a socket option and signalling support for the case where the server
holds timewait state on closing the connection, as described in RFC 4340, 8.3.

Since holding timewait state at the server is the non-usual case, it is enabled
via a socket option. Documentation for this socket option has been added.

The setsockopt statement has been made resilient against different possible cases
of expressing boolean `true' values using a suggestion by Ian McDonald.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Ian McDonald &lt;ian.mcdonald@jandi.co.nz&gt;
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>
</feed>
