]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Mon, 3 Dec 2012 20:42:45 +0000 (12:42 -0800)
committerSean Hefty <sean.hefty@intel.com>
Mon, 3 Dec 2012 20:42:45 +0000 (12:42 -0800)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index e47a6211b23f5614c4a40f094fda77f7fcec7324..1e58c14ce3d12f314edf6609484a269a5f56d042 100644 (file)
--- a/meta
+++ b/meta
@@ -1,9 +1,10 @@
 Version: 1
-Previous: 7786e30f03ce0c0c8895fa2f58ee08de97a99494
-Head: 00095fe2fef92d5856f103acf87321105c01d457
+Previous: 9cb8074a9c8ef7061e439379b59d0c63447e93ce
+Head: cb4fb055f5c87b97226d1e47240c58cf25f0a271
 Applied:
   librdmacm-fixed-build-problem-: c6bfc1c5b15e6207188a97e8a5df0405cfd2587f
   dsocket: 00095fe2fef92d5856f103acf87321105c01d457
+  refresh-temp: cb4fb055f5c87b97226d1e47240c58cf25f0a271
 Unapplied:
   test-udp: f6c78ad2a26f452cf166aff1baa7b76160bd8bf7
   iom-dbg: 88434072d07f8edc58f454ac954d78bd39441eed
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..23730d5
--- /dev/null
@@ -0,0 +1,44 @@
+Bottom: 6800649e940a6a3669cefc3c017533f9a40e63d0
+Top:    8e7e91c54177aff763fd2a822f66f4299671cd81
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-12-03 12:42:45 -0800
+
+Refresh of dsocket
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index f62fe90..63bb225 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -354,6 +354,9 @@ struct ds_udp_header {
+       } addr;
+ };
++#define DS_UDP_IPV4_HDR_LEN 16
++#define DS_UDP_IPV6_HDR_LEN 28
++
+ #define ds_next_qp(qp) container_of((qp)->list.next, struct ds_qp, list)
+ static void ds_insert_qp(struct rsocket *rs, struct ds_qp *qp)
+@@ -2486,11 +2489,18 @@ static ssize_t ds_sendv_udp(struct rsocket *rs, const struct iovec *iov,
+       if (iovcnt > 8)
+               return ERR(ENOTSUP);
+-      hdr.tag = htonll(DS_UDP_TAG);
++      hdr.tag = htonl(DS_UDP_TAG);
+       hdr.version = 1;
+       hdr.op = op;
+-      memset(&hdr->reserved, 0, sizeof hdr->reserved);
++      hdr.reserved = 0;
+       hdr.qpn = htonl(rs->conn_dest->qp->cm_id->qp->qp_num & 0xFFFFFF);
++      if (rs->conn_dest->qp->hdr.version == 4) {
++              hdr.length = DS_UDP_IPV4_HDR_LEN;
++              hdr.addr.ipv4 = rs->conn_dest->qp->hdr.addr.ipv4;
++      } else {
++              hdr.length = DS_UDP_IPV6_HDR_LEN;
++              memcpy(hdr.addr.ipv6.addr, rs->conn_dest->qp->hdr.addr.ipv6.addr, 16);
++      }
+       miov[0].iov_base = &hdr;
+       miov[0].iov_len = sizeof hdr;