<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/dccp/options.c, branch linux-2.6.25.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.25.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-01-28T22:57:54Z</updated>
<entry>
<title>[DCCP]: Ignore feature negotiation on Data packets</title>
<updated>2008-01-28T22:57:54Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-13T14:48:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf86314cb7460423b0b7e611edad80a52dc90d10'/>
<id>urn:sha1:cf86314cb7460423b0b7e611edad80a52dc90d10</id>
<content type='text'>
This implements [RFC 4340, p. 32]: "any feature negotiation options received
on DCCP-Data packets MUST be ignored".

Also added a FIXME for further processing, since the code currently (wrongly)
classifies empty Confirm options as invalid - this needs to be resolved in
a separate patch.

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]: Handle timestamps on Request/Response exchange separately</title>
<updated>2008-01-28T22:57:51Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-13T14:37:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b4d4f7c70fd3361c6c889752e08ea9be304cf5f4'/>
<id>urn:sha1:b4d4f7c70fd3361c6c889752e08ea9be304cf5f4</id>
<content type='text'>
In DCCP, timestamps can occur on packets anytime, CCID3 uses a timestamp(/echo) on the Request/Response
exchange. This patch addresses the following situation:
	* timestamps are recorded on the listening socket;
	* Responses are sent from dccp_request_sockets;
	* suppose two connections reach the listening socket with very small time in between:
	* the first timestamp value gets overwritten by the second connection request.

This is not really good, so this patch separates timestamps into
 * those which are received by the server during the initial handshake (on dccp_request_sock);
 * those which are received by the client or the client after connection establishment.

As before, a timestamp of 0 is regarded as indicating that no (meaningful) timestamp has been
received (in addition, a warning message is printed if hosts send 0-valued timestamps).

The timestamp-echoing now works as follows:
 * when a timestamp is present on the initial Request, it is placed into dreq, due to the
   call to dccp_parse_options in dccp_v{4,6}_conn_request;
 * when a timestamp is present on the Ack leading from RESPOND =&gt; OPEN, it is copied over
   from the request_sock into the child cocket in dccp_create_openreq_child;
 * timestamps received on an (established) dccp_sock are treated as before.

Since Elapsed Time is measured in hundredths of milliseconds (13.2), the new dccp_timestamp()
function is used, as it is expected that the time between receiving the timestamp and
sending the timestamp echo will be very small against the wrap-around time. As a byproduct,
this allows smaller timestamping-time fields.

Furthermore, inserting the Timestamp Echo option has been taken out of the block starting with
'!dccp_packet_without_ack()', since Timestamp Echo can be carried on any packet (5.8 and 13.3).

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Acked-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]: Allow to parse options on Request Sockets</title>
<updated>2008-01-28T22:57:50Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-12-13T14:29:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b819412481494fb6861c08d360b75fabcbbfbbf'/>
<id>urn:sha1:8b819412481494fb6861c08d360b75fabcbbfbbf</id>
<content type='text'>
The option parsing code currently only parses on full sk's. This causes a problem for
options sent during the initial handshake (in particular timestamps and feature-negotiation
options). Therefore, this patch extends the option parsing code with an additional argument
for request_socks: if it is non-NULL, options are parsed on the request socket, otherwise
the normal path (parsing on the sk) is used.

Subsequent patches, which implement feature negotiation during connection setup, make use
of this facility.

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]: Ignore Ack Vectors / Elapsed Time on DCCP-Request also</title>
<updated>2008-01-28T22:54:47Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-11-21T12:13:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c86ab2b6a5deec2223a606b90c001bedda9d950b'/>
<id>urn:sha1:c86ab2b6a5deec2223a606b90c001bedda9d950b</id>
<content type='text'>
Small update with regard to RFC 4340 (references added as documentation):
on Requests, Ack Vectors / Elapsed Time should be ignored.
Length handling of Elapsed Time also simplified.

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]: Unaligned pointer access</title>
<updated>2007-10-24T12:46:58Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-10-24T12:46:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76fd1e87d9456c8185b8df76ac5e533e0c8b39bb'/>
<id>urn:sha1:76fd1e87d9456c8185b8df76ac5e533e0c8b39bb</id>
<content type='text'>
This fixes `unaligned (read) access' errors of the type

Kernel unaligned access at TPC[100f970c] dccp_parse_options+0x4f4/0x7e0 [dccp]
Kernel unaligned access at TPC[1011f2e4] ccid3_hc_tx_parse_options+0x1ac/0x380 [dccp_ccid3]
Kernel unaligned access at TPC[100f9898] dccp_parse_options+0x680/0x880 [dccp]

by using the get_unaligned macro for parsing options.

Commiter note: Preserved the sparse __be{16,32} annotations.

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;
</content>
</entry>
<entry>
<title>[DCCP]: Wrong format in printk</title>
<updated>2007-10-10T23:54:36Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-10-04T21:44:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dcad856fe8e0222012d9ae0e4dc6c6e5cce276e6'/>
<id>urn:sha1:dcad856fe8e0222012d9ae0e4dc6c6e5cce276e6</id>
<content type='text'>
The elapsed time uses u32, but printk was using %d, not %u.

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;
</content>
</entry>
<entry>
<title>[DCCP]: Tidy-up -- minisock initialisation</title>
<updated>2007-10-10T23:54:36Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-10-04T21:43:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=451bc0473f010babeadd888ae8ec1015959fd1b2'/>
<id>urn:sha1:451bc0473f010babeadd888ae8ec1015959fd1b2</id>
<content type='text'>
This

 * removes a declaration of a non-existent function
   __dccp_minisock_init;

 * shifts the initialisation function dccp_minisock_init() from
   options.c to minisocks.c, where it is more naturally expected to
   be.

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]: Provide 10s of microsecond timesource</title>
<updated>2007-10-10T23:52:35Z</updated>
<author>
<name>Gerrit Renker</name>
</author>
<published>2007-09-26T05:40:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4c70f383e0c0273c4092c4efdb414be0966978b7'/>
<id>urn:sha1:4c70f383e0c0273c4092c4efdb414be0966978b7</id>
<content type='text'>
This provides a timesource, conveniently used for DCCP timestamps, which
returns the elapsed time in 10s of microseconds since initialisation.
This makes for a wrap-around time of about 11.9 hours, which should be
sufficient for most applications.

Signed-off-by: Gerrit Renker &lt;gerrit@erg.abdn.ac.uk&gt;
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore</title>
<updated>2007-10-10T23:48:17Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
</author>
<published>2007-08-20T00:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8fb8354af9b92ce3bd41083995f1fe26024d0959'/>
<id>urn:sha1:8fb8354af9b92ce3bd41083995f1fe26024d0959</id>
<content type='text'>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
