| .TH "iwpmd" 8 "2016-09-16" "iwpmd" "iwpmd" iwpmd | |
| .SH NAME | |
| iwpmd \- port mapping services for iWARP. | |
| .SH SYNOPSIS | |
| .sp | |
| .nf | |
| \fIiwpmd\fR | |
| .fi | |
| .SH "DESCRIPTION" | |
| The iWARP Port Mapper Daemon provides a user space service (iwpmd) for the | |
| iWarp drivers to claim tcp ports through the standard socket interface. | |
| .P | |
| The kernel space support for the port mapper is part of the iw_cm module. | |
| The ib_core module includes netlink support, which is used by the port | |
| mapper clients to exchange messages with iwpmd. Both modules iw_cm and | |
| ib_core need to be loaded in order for the libiwpm service to start | |
| successfully. | |
| .SH "IWARP PORT MAPPING DETAILS" | |
| The iWARP Port Mapper implementation is based on the port mapper | |
| specification section in the Sockets Direct Protocol: | |
| http://www.rdmaconsortium.org/home/draft-pinkerton-iwarp-sdp-v1.0.pdf | |
| .P | |
| Existing iWARP RDMA providers use the same IP address as the native | |
| TCP/IP stack when creating RDMA connections. They need a mechanism to | |
| claim the TCP ports used for RDMA connections to prevent TCP port | |
| collisions when other host applications use TCP ports. The iWARP Port | |
| Mapper provides a standard mechanism to accomplish this. Without this | |
| service it is possible for RDMA application to bind/listen on the same | |
| port which is already being used by native TCP host application. If | |
| that happens the incoming TCP connection data can be passed to the | |
| RDMA stack with error. | |
| .P | |
| The iWARP Connection Manager (port mapper client) sends to the IWPM | |
| service the local IP address and TCP port it has received from the RDMA | |
| application, when starting a connection. The IWPM service performs | |
| a socket bind from user space to get an available TCP port, called a | |
| mapped port, and communicates it back to the client. In that sense, | |
| the IWPM service is used to map the TCP port, which the RDMA application | |
| uses to any port available from the host TCP port space. The mapped ports | |
| are used in iWARP RDMA connections to avoid collisions with native TCP | |
| stack which is aware that these ports are taken. When an RDMA connection | |
| using a mapped port is terminated, the client notifies the IWPM service, | |
| which then releases the TCP port. | |
| .P | |
| The message exchange between iwpmd and the iWARP Connection Manager | |
| (between user space and kernel space) is implemented using netlink | |
| sockets. | |
| .SH OPTIONS | |
| .sp | |
| \fB\-s, \-\-systemd\fP | |
| Enable systemd integration. | |
| .SH "SIGNALS" | |
| SIGUSR1 will force a dump of the current mappings | |
| to the system message log. | |
| .P | |
| SIGTERM/SIGHUP will force iwpmd to exit. | |
| .SH "FILES" | |
| @CMAKE_INSTALL_FULL_SYSCONFDIR@/iwpmd.conf | |
| .SH "SEE ALSO" | |
| rdma_cm(7) |