<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/rdma/rdma_cm.h, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.17.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2013-06-21T06:35:41Z</updated>
<entry>
<title>RDMA/cma: Export cma_get_service_id()</title>
<updated>2013-06-21T06:35:41Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2013-05-29T17:09:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cf53936f229d81131fef475919f163ce566a205f'/>
<id>urn:sha1:cf53936f229d81131fef475919f163ce566a205f</id>
<content type='text'>
Allow the rdma_ucm to query the IB service ID formed or allocated by
the rdma_cm by exporting the cma_get_service_id() functionality.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Set qkey for AF_IB</title>
<updated>2013-06-21T06:35:37Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2013-05-29T17:09:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5c438135adf90b33cb00e5351becf1e557bbdd9d'/>
<id>urn:sha1:5c438135adf90b33cb00e5351becf1e557bbdd9d</id>
<content type='text'>
Allow the user to specify the qkey when using AF_IB.  The qkey is
added to struct rdma_ucm_conn_param in place of a reserved field, but
for backwards compatability, is only accessed if the associated
rdma_cm_id is using AF_IB.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Update port reservation to support AF_IB</title>
<updated>2013-06-20T20:08:03Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2013-05-29T17:09:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=58afdcb7382234ebd780e43b17edde92a5853cca'/>
<id>urn:sha1:58afdcb7382234ebd780e43b17edde92a5853cca</id>
<content type='text'>
The AF_IB uses a 64-bit service id (SID), which the user can control
through the use of a mask.  The rdma_cm will assign values to the
unmasked portions of the SID based on the selected port space and port
number.

Because the IB spec divides the SID range into several regions, a
SID/mask combination may fall into one of the existing port space
ranges as defined by the RDMA CM IP Annex.  Map the AF_IB SID to the
correct RDMA port space.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Allow user to restrict listens to bound address family</title>
<updated>2012-07-09T01:02:24Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2012-06-14T20:31:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=68602120e496a31d8e3b36d0bfc7d9d2456fb05c'/>
<id>urn:sha1:68602120e496a31d8e3b36d0bfc7d9d2456fb05c</id>
<content type='text'>
Provide an option for the user to specify that listens should only
accept connections where the incoming address family matches that of
the locally bound address.  This is used to support the equivalent of
IPV6_V6ONLY socket option, which allows an app to only accept
connection requests directed to IPv6 addresses.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cm: Define new RDMA port space specific to IB</title>
<updated>2011-10-13T16:39:52Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2011-05-29T04:56:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2d2e94152928209de13dea0535242c0e457bdcbb'/>
<id>urn:sha1:2d2e94152928209de13dea0535242c0e457bdcbb</id>
<content type='text'>
Add RDMA_PS_IB.  XRC QP types will use the IB port space when operating
over the RDMA CM.  For the 'IP protocol' field value, we select 0x3F,
which is listed as being for 'any local network'.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Pass QP type into rdma_create_id()</title>
<updated>2011-05-25T20:46:23Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2010-04-01T17:08:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b26f9b9949013fec31b23c426fc463164ae08891'/>
<id>urn:sha1:b26f9b9949013fec31b23c426fc463164ae08891</id>
<content type='text'>
The RDMA CM currently infers the QP type from the port space selected
by the user.  In the future (eg with RDMA_PS_IB or XRC), there may not
be a 1-1 correspondence between port space and QP type.  For netlink
export of RDMA CM state, we want to export the QP type to userspace,
so it is cleaner to explicitly associate a QP type to an ID.

Modify rdma_create_id() to allow the user to specify the QP type, and
use it to make our selections of datagram versus connected mode.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Export enum cma_state in &lt;rdma/rdma_cm.h&gt;</title>
<updated>2011-05-25T20:46:22Z</updated>
<author>
<name>Nir Muchtar</name>
<email>nirm@voltaire.com</email>
</author>
<published>2011-05-20T18:46:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=550e5ca77e96989c5e19f60e017205b2bcc615a5'/>
<id>urn:sha1:550e5ca77e96989c5e19f60e017205b2bcc615a5</id>
<content type='text'>
Move cma.c's internal definition of enum cma_state to enum rdma_cm_state
in an exported header so that it can be exported via RDMA netlink.

Signed-off-by: Nir Muchtar &lt;nirm@voltaire.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Add an ID_REUSEADDR option</title>
<updated>2011-05-10T05:06:10Z</updated>
<author>
<name>Hefty, Sean</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2011-05-10T05:06:10Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a9bb79128aa659f97b774b97c9bb1bdc74444595'/>
<id>urn:sha1:a9bb79128aa659f97b774b97c9bb1bdc74444595</id>
<content type='text'>
Lustre requires that clients bind to a privileged port number before
connecting to a remote server.  On larger clusters (typically more
than about 1000 nodes), the number of privileged ports is exhausted,
resulting in lustre being unusable.

To handle this, we add support for reusable addresses to the rdma_cm.
This mimics the behavior of the socket option SO_REUSEADDR.  A user
may set an rdma_cm_id to reuse an address before calling
rdma_bind_addr() (explicitly or implicitly).  If set, other
rdma_cm_id's may be bound to the same address, provided that they all
have reuse enabled, and there are no active listens.

If rdma_listen() is called on an rdma_cm_id that has reuse enabled, it
will only succeed if there are no other id's bound to that same
address.  The reuse option is exported to user space.  The behavior of
the kernel reuse implementation was verified against that given by
sockets.

This patch is derived from a path by Ira Weiny &lt;weiny2@llnl.gov&gt;

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cm: Remove unused definition of RDMA_PS_SCTP</title>
<updated>2010-02-11T23:40:25Z</updated>
<author>
<name>Sean Hefty</name>
<email>sean.hefty@intel.com</email>
</author>
<published>2010-02-11T23:40:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cf4f7e8c47b3298cf90239bad5d86fdcad0c89eb'/>
<id>urn:sha1:cf4f7e8c47b3298cf90239bad5d86fdcad0c89eb</id>
<content type='text'>
The defined SCTP number is incorrect (0x83, rather than 0x84), and
since it is not used anywhere, simply remove the definition.

Signed-off-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>RDMA/cma: Remove padding arrays by using struct sockaddr_storage</title>
<updated>2008-08-04T18:02:14Z</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2008-08-04T18:02:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3f44675439b136d51179d31eb5a498383cb38624'/>
<id>urn:sha1:3f44675439b136d51179d31eb5a498383cb38624</id>
<content type='text'>
There are a few places where the RDMA CM code handles IPv6 by doing

	struct sockaddr		addr;
	u8			pad[sizeof(struct sockaddr_in6) -
				    sizeof(struct sockaddr)];

This is fragile and ugly; handle this in a better way with just

	struct sockaddr_storage	addr;

[ Also roll in patch from Aleksey Senin &lt;alekseys@voltaire.com&gt; to
  switch to struct sockaddr_storage and get rid of padding arrays in
  struct rdma_addr. ]

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
</feed>
