From: Sean Hefty Date: Wed, 19 Dec 2012 00:03:25 +0000 (-0800) Subject: refresh X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=1d2df4723d4b2fcf47ff9c436bdcedacaeeb56df;p=~shefty%2Flibrdmacm.git refresh --- diff --git a/meta b/meta index 1dd93561..9222ddf4 100644 --- a/meta +++ b/meta @@ -1,9 +1,8 @@ Version: 1 -Previous: aedafb597f82e6b6649111f35fbb238e20a3757b -Head: 827b4dbdb0cc47f1ccf1f8385a8636147f3b0233 +Previous: fc63ca85a100afd66667b38f06c0a01f406ec01f +Head: 096a4c37a98b2c1bc46e0661ef8604f7a3a7ddc9 Applied: - dsocket: 142a13708f69f13c6676f4d97f06ffdb6d50ec40 - refresh-temp: 827b4dbdb0cc47f1ccf1f8385a8636147f3b0233 + dsocket: 096a4c37a98b2c1bc46e0661ef8604f7a3a7ddc9 Unapplied: udpong: 9be27dcb8cb68c71a2db871b8f25e35a494c31a3 test-udp: f6c78ad2a26f452cf166aff1baa7b76160bd8bf7 diff --git a/patches/dsocket b/patches/dsocket index 5f5dd8b9..7fb94281 100644 --- a/patches/dsocket +++ b/patches/dsocket @@ -5,6 +5,36 @@ Date: 2012-11-09 10:26:38 -0800 rsocket: Add datagram support +Add datagram support through the rsocket API. + +Datagram support is handled through an entirely different protocol and +internal implementation than streaming sockets. Unlike connected rsockets, +datagram rsockets are not necessarily bound to a network (IP) address. +A datagram socket may use any number of network (IP) addresses, including +those which map to different RDMA devices. As a result, a single datagram +rsocket must support using multiple RDMA devices and ports, and a datagram +rsocket references a single UDP socket, plus zero or more UD QPs. + +Rsockets uses headers inserted before user data sent over UDP sockets to +resolve remote UD QP numbers. When a user first attempts to send a datagram +to a remote address (IP and UDP port), rsockets will take the following steps: + +1. Store the destination address into a lookup table. +2. Resolve which local network address should be used when sending + to the specified destination. +3. Allocate a UD QP on the RDMA device associated with the local address. +4. Send the user's datagram to the remote UDP socket. + +A header is inserted before the user's datagram. The header specifies the +UD QP number associated with the local network address (IP and UDP port) of +the send. + +A service thread is used to process messages received on the UDP socket. This +thread updates the rsocket lookup tables with the remote QPN and path record +data. The service thread forwards data received on the UDP socket to an +rsocket QP. After the remote QPN and path records have been resolved, datagram +communication between two nodes are done over the UD QP. + Signed-off-by: Sean Hefty diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index cb32b3da..00000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,10 +0,0 @@ -Bottom: a51fe46dbaa58743e3254a4ef2288b4490ff5d13 -Top: a51fe46dbaa58743e3254a4ef2288b4490ff5d13 -Author: Sean Hefty -Date: 2012-12-18 16:01:20 -0800 - -Refresh of dsocket - ---- - -