From patchwork Mon Sep 19 15:56:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 9339825 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DB34D6077A for ; Mon, 19 Sep 2016 15:57:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CB39F294D6 for ; Mon, 19 Sep 2016 15:57:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BDF1E29569; Mon, 19 Sep 2016 15:57:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 38939294D6 for ; Mon, 19 Sep 2016 15:57:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752094AbcISP5S (ORCPT ); Mon, 19 Sep 2016 11:57:18 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:54222 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751872AbcISP5R (ORCPT ); Mon, 19 Sep 2016 11:57:17 -0400 Received: from [4.28.11.153] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.85_2 #1 (Red Hat Linux)) id 1bm0wX-0005Ml-1d; Mon, 19 Sep 2016 15:57:17 +0000 From: Christoph Hellwig To: jgunthorpe@obsidianresearch.com Cc: linux-rdma@vger.kernel.org Subject: [PATCH 7/9] move librdmacm documentation to Documentation/ Date: Mon, 19 Sep 2016 08:56:31 -0700 Message-Id: <1474300593-31922-8-git-send-email-hch@lst.de> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1474300593-31922-1-git-send-email-hch@lst.de> References: <1474300593-31922-1-git-send-email-hch@lst.de> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP And drop bits that are outdated or replaced by top-level Documentation. Signed-off-by: Christoph Hellwig --- Documentation/librdmacm.md | 46 ++++++++++++++++++++++++++++++++++ librdmacm/README | 61 ---------------------------------------------- 2 files changed, 46 insertions(+), 61 deletions(-) create mode 100644 Documentation/librdmacm.md delete mode 100644 librdmacm/README diff --git a/Documentation/librdmacm.md b/Documentation/librdmacm.md new file mode 100644 index 0000000..5eb8d31 --- /dev/null +++ b/Documentation/librdmacm.md @@ -0,0 +1,46 @@ +# Device files + +The userspace CMA uses a single device file regardless of the number +of adapters or ports present. + +To create the appropriate character device file automatically with +udev, a rule like + + KERNEL="rdma_cm", NAME="infiniband/%k", MODE="0666" + +can be used. This will create the device node named + + /dev/infiniband/rdma_cm + +or you can create it manually + + mknod /dev/infiniband/rdma_cm c 231 255 + + +# Common issues + +Using multiple interfaces + The librdmacm does support multiple interfaces. To make use + of multiple interfaces, however, you need to instruct linux + to only send ARP reples on the interface targetted in the ARP + request. This can be done using a command similar to the + following: + + sysctl -w net.ipv4.conf.all.arp_ignore=2 + + Without this change, it's possible for linux to resopnd to ARP + requests on a different interface (IP address) than the IP + address carried in the ARP request. This causes the RDMA stack + to incorrectly map the remote IP address to the wrong RDMA + device. + +Using loopback + The librdmacm relies on ARP to resolve IP address to RDMA + addresses. To support loopback connections between different + ports on the same system, ARP must be enabled for local + resolution: + + sysctl net.ipv4.conf.all.accept_local=1 + + Without this setting, loopback connections may timeout + during address resolution. diff --git a/librdmacm/README b/librdmacm/README deleted file mode 100644 index e1f2227..0000000 --- a/librdmacm/README +++ /dev/null @@ -1,61 +0,0 @@ -This README is for userspace RDMA cm library. - - -Building -======== -To make this directory, run: -./autogen.sh && ./configure && make && make install - -Typically the autogen and configure steps only need be done the first -time unless configure.in or Makefile.am changes. - -Libraries are installed by default at /usr/local/lib. - - -Device files -============ -The userspace CMA uses a single device file regardless of the number -of adapters or ports present. - -To create the appropriate character device file automatically with -udev, a rule like - - KERNEL="rdma_cm", NAME="infiniband/%k", MODE="0666" - -can be used. This will create the device node named - - /dev/infiniband/rdma_cm - -or you can create it manually - - mknod /dev/infiniband/rdma_cm c 231 255 - - -Common issues -============= - -Using multiple interfaces - The librdmacm does support multiple interfaces. To make use - of multiple interfaces, however, you need to instruct linux - to only send ARP reples on the interface targetted in the ARP - request. This can be done using a command similar to the - following: - - sysctl -w net.ipv4.conf.all.arp_ignore=2 - - Without this change, it's possible for linux to resopnd to ARP - requests on a different interface (IP address) than the IP - address carried in the ARP request. This causes the RDMA stack - to incorrectly map the remote IP address to the wrong RDMA - device. - -Using loopback - The librdmacm relies on ARP to resolve IP address to RDMA - addresses. To support loopback connections between different - ports on the same system, ARP must be enabled for local - resolution: - - sysctl net.ipv4.conf.all.accept_local=1 - - Without this setting, loopback connections may timeout - during address resolution.