Search code examples
network-programmingethernetinfiniband

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 find such information. EDIT: OS and language of implementation doesn't matter much, although Linux and C are preferred.


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.