Code Monkey home page Code Monkey logo

librdmacm's Introduction

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.

librdmacm's People

Contributors

shefty avatar ydroneaud avatar bvanassche avatar dledford avatar ogerlitz avatar jgunthorpe avatar bharatpotnuri avatar jarodwilson avatar jsquyres avatar rolandd avatar srabinov avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.