How to choose InfiniBand or Ethernet programmatically?
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开发者_如何学JAVA find such information. EDIT: OS and language of implementation doesn't matter much, although Linux and C are preferred.
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.
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.
精彩评论