public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Wang <yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Hal Rosenstock
	<hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Or Gerlitz <ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
	Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Subject: Re: [PATCH RFC] Documentation/infiniband: Add docs for rdma-helpers
Date: Fri, 15 May 2015 10:12:45 +0200	[thread overview]
Message-ID: <5555AA7D.7080503@profitbricks.com> (raw)
In-Reply-To: <1431529914.2377.22.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>



On 05/13/2015 05:11 PM, Doug Ledford wrote:
[snip]
>> +
>> +  For core layer, below helpers are used to check if a paticular capability
>> +  is supported by the port.
> 
> The following helpers are used to check the specific capabilities of a
> particular port before utilizing those capabilities.

Will be in next version :-)

> 
>> +
>> +    rdma_cap_ib_mad		- Infiniband Management Datagrams.
>> +    rdma_cap_ib_smi		- Infiniband Subnet Management Interface.
>> +    rdma_cap_ib_cm		- Infiniband Communication Manager.
> InfiniBand Connection Management

Me too used to think it's 'connection', while I found some docs explain
this as 'communication'... but anyway, 'connection' sounds
more close to what it did in kernel :-)

>> +    rdma_cap_iw_cm		- IWARP Communication Manager.
> iWARP Connection Management
>> +    rdma_cap_ib_sa		- Infiniband Subnet Administration.
>> +    rdma_cap_ib_mcast		- Infiniband Multicast.
> InfiniBand Multicast join/leave protocol
>> +    rdma_cap_read_multi_sge	- RDMA Read Multiple Scatter-Gather Entries.
> RDMA Read verb supports more than 1 sge in the work request

Will be in next version :-)

>> +    rdma_cap_af_ib		- Native Infiniband Address.
>> +    rdma_cap_eth_ah		- Ethernet Address Handler.
> Queue Pair is InfiniBand transport, but uses Ethernet address instead of
> native InfiniBand address (aka, this is a RoCE QP, and that means
> ethertype 0x8915 + GRH for RoCEv1 and IP/UDP to well known UDP port for
> RoCEv2)

Shall we put this long description into USAGE? Here maybe list
all the helpers to give some quick overview with a brief
description, what's your opinion?

>> +
>> +USAGE
>> +
>> +  if (rdma_cap_XX(device, i)) {
>> +	/* The port i of device support XX */
>> +	...
>> +  } else {
>> +	/* The port i of device don't support XX */
>> +	...
>> +  }
>> +
>> +  rdma_cap_ib_mad
>> +  ---------------
>> +    Management Datagrams (MAD) is the prototype of management packet
>> +    to be used by all the kinds of infiniband managers, use the helper
>> +    to verify the port before utilize related features.
> Management Datagrams (MAD) are a required part of the InfiniBand
> specification and are supported on all InfiniBand devices.  A slightly
> extended version are also supported on OPA interfaces.
> 
> I would drop all instances of "use the helper to verify..." as that's
> redundant.  This whole doc is about using the helpers to verify things.

Agree, will be dropped in next version.

And all the comments below make sense, will be merged ;-)

Regards,
Michael Wang

> 
>> +
>> +  rdma_cap_ib_smi
>> +  ---------------
>> +    Subnet Management Interface (SMI) will handle SMP packet from SM
>> +    in an infiniband fabric, use the helper to verify the port before
>> +    utilize related features.
>> +
>> +  rdma_cap_ib_cm
>> +  ---------------
>> +    Communication Manager (CM) will handle the connections between
>        ^Connection Manager (CM) service, used to ease the process of
> connecting to a remote host.  The IB CM can be used to connect to remote
> hosts using either InfiniBand or RoCE connections.  iWARP has its own
> connection manager, see below.
>> +    adaptors, currently there are two different implementation,
>> +    IB or IWARP, use the helper to verify whether the port using
>> +    IB-CM or not
>> +
>> +  rdma_cap_iw_cm
>> +  ---------------
>> +    IWARP has it's own implemented CM which is different from infiniband,
>       iWARP connection manager.  Similar to the IB Connection Manager,
> but only used on iWARP devices.
>> +    use the helper to check whether the port using IWARP-CM or not.
>> +
>> +  rdma_cap_ib_sa
>> +  ---------------
>> +    Subnet Administration (SA) is the database built by SM in an
>> +    infiniband fabric, use the helper to verify the port before
>> +    utilize related features.
>> +
>> +  rdma_cap_ib_mcast
>> +  ---------------
>> +    Multicast is the feature for one QP to send messages to multiple
>> +    QP in an infiniband fabric, use the helper to verify the port before
>> +    utilize related features.
> 
> InfiniBand (and OPA) use a different multicast mechanism than
> traditional IP multicast found on Ethernet devices.  If this capability
> is true, then traditional IPv4/IPv6 multicast is handled by the IPoIB
> layer and direct multicast joins and leaves are handled per the
> InfiniBand specifications.
> 
>> +
>> +  rdma_cap_read_multi_sge
>> +  ---------------
>> +    RDMA read operation could support multiple scatter-gather entries,
>> +    use the helper to verify wthether the port support this feature
>> +    or not.
> 
> Certain devices (iWARP in particular) have restrictions on the number of
> scatter gather elements that can be present in an RDMA READ work
> request.  This is true if the device does not have that restriction.
> 
>> +  rdma_cap_af_ib
>> +  ---------------
>> +    RDMA address format could be ethernet or infiniband, use the helper
>> +    to verify whether the port support infiniband format or not.
> 
> Many code paths for traditional InfiniBand and RoCE links are the same,
> but need minor differences to accommodate the different addresses on the
> two types of connections.  This helper is true when the address of the
> specific connection is of the InfiniBand native variety.
> 
>> +
>> +  rdma_cap_eth_ah
>> +  ---------------
>> +    Infiniband address handler format is special in ethernet fabric, use
>> +    the helper to verify whether the port is using ethernet format or not.
> 
> This helper is true when the address of the specific connection is of
> the Ethernet (RoCE) variety.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-05-15  8:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13 13:24 [PATCH RFC] Documentation/infiniband: Add docs for rdma-helpers Michael Wang
     [not found] ` <1431523472-10888-1-git-send-email-yun.wang-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-05-13 15:11   ` Doug Ledford
2015-05-13 16:42     ` Hefty, Sean
2015-05-15  8:31       ` Michael Wang
     [not found]         ` <5555AEE5.9060503-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-05-15 14:40           ` Doug Ledford
     [not found]             ` <1431700819.27722.15.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15 15:02               ` Michael Wang
     [not found]     ` <1431529914.2377.22.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15  8:12       ` Michael Wang [this message]
     [not found]         ` <5555AA7D.7080503-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-05-15 14:27           ` Doug Ledford
     [not found]             ` <1431700060.27722.7.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-15 14:38               ` Michael Wang
2015-05-13 15:59 ` Jason Gunthorpe
2015-05-15  7:51   ` Michael Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5555AA7D.7080503@profitbricks.com \
    --to=yun.wang-eikl63zcoxah+58jc4qpia@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org \
    --cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ogerlitz-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox