Question

I need (simple) program which allows to choose what to use to transfer data - Infiniband or Ethernet and switch them in runtime. I searched through InfiniBand docs, google and google/codeseaarch and have found nothing. Please provide program or tips where can I find such information. EDIT: OS and language of implementation doesn't matter much, although Linux and C are preferred.

Was it helpful?

Solution

IB and Ethernet are different protocols, you use BSD sockets for Ethernet and you use whatever verb API of your preference for IB, e.g. OFED, SDP, etc.

http://en.wikipedia.org/wiki/Sockets_Direct_Protocol

For convenience you can run Ethernet over IB and you use standard IP routing, interface binding, or IPv6 scoping to choose which interface.

OTHER TIPS

In addition to Ethernet over IB, IP over IB is available as well.

http://infiniband.sourceforge.net/NW/IPoIB/index.htm

The current documentation is:

http://www.mjmwired.net/kernel/Documentation/infiniband/ipoib.txt

http://www.openfabrics.org/downloads/OFED/ofed-1.4/OFED-1.4-docs/ipoib_release_notes.txt

After binding the IB interface to IP, plain IP sockets are available.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top