Hi SiTi, see below:
On May 11, 10:54 pm, SiTi <
SiTiComp...@yandex.ru> wrote:
> Hello to everyone!
> I encountered an obstacle and would like someone to help me with an
> advice. I want to use InfiniBand via IB Verbs, but I don’t understand
> how I can get Destination LID and other necessary information to set
> up connection. All the examples that I’ve seen use sockets for the
> exchange of this information as it explains «for simplicity».
> I wonder if there is any way to configure Subnet Manager so that it
> could use static settings?
Yes, you can provide the SM a configuration file with static LIDs.
Read the SM manual for more information.
> Or I can exchange this information only via
> IB Verbs without using off-site protocols (TCP/IP, IPoIB, etc.)?
> in general, what can be done to solve this problem?
Actually, this is not a problem.
For any unicast traffic you want to send, you need to know the address
of the destination beforehand; In TCP/IP sockets, usually you need the
destination IP/Port. In InfiniBand you need different type of address
(e.g. QPN/LID) and this information should be available to the sender
before he initiates the traffic.. so actually the requirement to know
the DLID in InfiniBand is normal (exactly like how you need the DIP in
TCP/IP).. But if you still want to use sockets-like API (to resolve
the IB address using sockets), then you must use IP based driver (over
InfiniBand) such as IPoIB and exchange the QP info over it, or you can
use RDMA-CM (communication manager) that provides you sockets based
API to manage RDMA/QP resources.
See RDMA-CM man page:
http://linux.die.net/man/7/rdma_cm
This is an Example by Roland Dreier:
http://digitalvampire.org/blog/index.php/2007/10/10/materials-from-linuxconfeu-rdma-tutorial-at-last/