<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/rds/recv.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-07-04T21:35:17Z</updated>
<entry>
<title>net, rds: convert rds_incoming.i_refcount from atomic_t to refcount_t</title>
<updated>2017-07-04T21:35:17Z</updated>
<author>
<name>Reshetova, Elena</name>
</author>
<published>2017-07-04T12:53:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7f0292094cbe31f82f2cd9623c8356cc7cf9566'/>
<id>urn:sha1:b7f0292094cbe31f82f2cd9623c8356cc7cf9566</id>
<content type='text'>
refcount_t type and corresponding API should be
used instead of atomic_t when the variable is used as
a reference counter. This allows to avoid accidental
refcounter overflows that might lead to use-after-free
situations.

Signed-off-by: Elena Reshetova &lt;elena.reshetova@intel.com&gt;
Signed-off-by: Hans Liljestrand &lt;ishkamiel@gmail.com&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: David Windsor &lt;dwindsor@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rds: tcp: send handshake ping-probe from passive endpoint</title>
<updated>2017-06-22T15:34:04Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2017-06-21T20:40:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=69b92b5b7419846e2a0d61a097b11b17a089e046'/>
<id>urn:sha1:69b92b5b7419846e2a0d61a097b11b17a089e046</id>
<content type='text'>
The RDS handshake ping probe added by commit 5916e2c1554f
("RDS: TCP: Enable multipath RDS for TCP") is sent from rds_sendmsg()
before the first data packet is sent to a peer. If the conversation
is not bidirectional  (i.e., one side is always passive and never
invokes rds_sendmsg()) and the passive side restarts its rds_tcp
module, a new HS ping probe needs to be sent, so that the number
of paths can be re-established.

This patch achieves that by sending a HS ping probe from
rds_tcp_accept_one() when c_npaths is 0 (i.e., we have not done
a handshake probe with this peer yet).

Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Tested-by: Jenny Xu &lt;jenny.x.xu@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rds: tcp: various endian-ness fixes</title>
<updated>2017-06-16T16:45:15Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2017-06-15T18:28:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=00354de5779db4aa9c019db787ef89bd1a6b149b'/>
<id>urn:sha1:00354de5779db4aa9c019db787ef89bd1a6b149b</id>
<content type='text'>
Found when testing between sparc and x86 machines on different
subnets, so the address comparison patterns hit the corner cases and
brought out some bugs fixed by this patch.

Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Tested-by: Imanti Mendez &lt;imanti.mendez@oracle.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>rds: make use of iov_iter_revert()</title>
<updated>2017-04-21T17:57:11Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2017-04-13T03:09:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc88e3b4c8c9c473c5e0bc65bcf0d3666ee1e022'/>
<id>urn:sha1:dc88e3b4c8c9c473c5e0bc65bcf0d3666ee1e022</id>
<content type='text'>
</content>
</entry>
<entry>
<title>RDS: add receive message trace used by application</title>
<updated>2017-01-02T22:02:59Z</updated>
<author>
<name>Santosh Shilimkar</name>
</author>
<published>2016-07-05T05:35:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3289025aedc018f8fd9d0e37fb9efa0c6d531ffa'/>
<id>urn:sha1:3289025aedc018f8fd9d0e37fb9efa0c6d531ffa</id>
<content type='text'>
Socket option to tap receive path latency in various stages
in nano seconds. It can be enabled on selective sockets using
using SO_RDS_MSG_RXPATH_LATENCY socket option. RDS will return
the data to application with RDS_CMSG_RXPATH_LATENCY in defined
format. Scope is left to add more trace points for future
without need of change in the interface.

Reviewed-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS: add stat for socket recv memory usage</title>
<updated>2017-01-02T22:02:56Z</updated>
<author>
<name>Venkat Venkatsubra</name>
</author>
<published>2016-07-10T00:36:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=192a798f52998a643cef84fce0204be56666b0bf'/>
<id>urn:sha1:192a798f52998a643cef84fce0204be56666b0bf</id>
<content type='text'>
Tracks the receive side memory added to scokets and removed from sockets.

Signed-off-by: Venkat Venkatsubra &lt;venkat.x.venkatsubra@oracle.com&gt;
Signed-off-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS: TCP: Track peer's connection generation number</title>
<updated>2016-11-17T18:35:18Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2016-11-16T21:29:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=905dd4184e0732de41d6ee3c7b06e0cfdd9f0aad'/>
<id>urn:sha1:905dd4184e0732de41d6ee3c7b06e0cfdd9f0aad</id>
<content type='text'>
The RDS transport has to be able to distinguish between
two types of failure events:
(a) when the transport fails (e.g., TCP connection reset)
    but the RDS socket/connection layer on both sides stays
    the same
(b) when the peer's RDS layer itself resets (e.g., due to module
    reload or machine reboot at the peer)
In case (a) both sides must reconnect and continue the RDS messaging
without any message loss or disruption to the message sequence numbers,
and this is achieved by rds_send_path_reset().

In case (b) we should reset all rds_connection state to the
new incarnation of the peer. Examples of state that needs to
be reset are next expected rx sequence number from, or messages to be
retransmitted to, the new incarnation of the peer.

To achieve this, the RDS handshake probe added as part of
commit 5916e2c1554f ("RDS: TCP: Enable multipath RDS for TCP")
is enhanced so that sender and receiver of the RDS ping-probe
will add a generation number as part of the RDS_EXTHDR_GEN_NUM
extension header. Each peer stores local and remote generation
numbers as part of each rds_connection. Changes in generation
number will be detected via incoming handshake probe ping
request or response and will allow the receiver to reset rds_connection
state.

Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>RDS: TCP: Enable multipath RDS for TCP</title>
<updated>2016-07-15T18:36:58Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2016-07-14T10:51:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5916e2c1554f3e36f770401c989c3c7fadf619ca'/>
<id>urn:sha1:5916e2c1554f3e36f770401c989c3c7fadf619ca</id>
<content type='text'>
Use RDS probe-ping to compute how many paths may be used with
the peer, and to synchronously start the multiple paths. If mprds is
supported, hash outgoing traffic to one of multiple paths in rds_sendmsg()
when multipath RDS is supported by the transport.

CC: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>RDS: Do not send a pong to an incoming ping with 0 src port</title>
<updated>2016-07-01T20:45:18Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2016-06-30T23:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11bb62f7c05240a933dd2e6b3bf3871d99464524'/>
<id>urn:sha1:11bb62f7c05240a933dd2e6b3bf3871d99464524</id>
<content type='text'>
RDS ping messages are sent with a non-zero src port to a zero
dst port, so that the rds pong messages can be sent back to the
originators src port. However if a confused/malicious sender
sends a ping with a 0 src port, we'd have an infinite ping-pong
loop. To avoid this, the receiver should ignore ping messages
with a 0 src port.

Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>RDS: Make rds_send_pong() take a rds_conn_path argument</title>
<updated>2016-06-15T06:50:43Z</updated>
<author>
<name>Sowmini Varadhan</name>
</author>
<published>2016-06-13T16:44:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=45997e9e2e01d76607d70461414f66f51487bfe5'/>
<id>urn:sha1:45997e9e2e01d76607d70461414f66f51487bfe5</id>
<content type='text'>
This commit allows rds_send_pong() callers to send back
the rds pong message on some path other than c_path[0] by
passing in a struct rds_conn_path * argument.  It also
removes the last dependency on the #defines in rds_single.h
from send.c

Signed-off-by: Sowmini Varadhan &lt;sowmini.varadhan@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
