]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of rs-maxseg
authorSean Hefty <sean.hefty@intel.com>
Mon, 4 Jun 2012 21:28:22 +0000 (14:28 -0700)
committerSean Hefty <sean.hefty@intel.com>
Mon, 4 Jun 2012 21:28:22 +0000 (14:28 -0700)
src/rsocket.c

index a1679f163a3c98ea5989c905ddf04e7506e91b22..f5ebae42fa7525ff165a22a1ab699c8a2c7877e7 100644 (file)
@@ -1717,6 +1717,9 @@ int rsetsockopt(int socket, int level, int optname,
                        opt_on = *(int *) optval;
                        ret = 0;
                        break;
+               case TCP_MAXSEG:
+                       ret = 0;
+                       break;
                default:
                        break;
                }
@@ -1814,6 +1817,15 @@ int rgetsockopt(int socket, int level, int optname,
                        *((int *) optval) = !!(rs->tcp_opts & (1 << optname));
                        *optlen = sizeof(int);
                        break;
+               case TCP_MAXSEG:
+                       if (rs->cm_id && rs->cm_id->route &&
+                           rs->cm_id->route.num_paths) {
+                               *((int *) optval) = 1 << (7 + rs->cm_id->route.path_rec->mtu);
+                       } else {
+                               *((int *) optval) = 2048;
+                       }
+                       *optlen = sizeof(int);
+                       break;
                default:
                        ret = ENOTSUP;
                        break;