Commit 8ba2c015 authored by Sudheer Mogilappagari's avatar Sudheer Mogilappagari Committed by Tomasz Zawadzki
Browse files

sock/posix: Set sendbuf and recvbuf before connect call



For client side connections, SO_RCVBUF needs to set
before connect call() so this patch moves those calls
accordingly.

Signed-off-by: default avatarSudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Change-Id: Ifa8373145b3699e697e34e93132b5c006e7fbf83
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/757


Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarZiye Yang <ziye.yang@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent beaf6961
Loading
Loading
Loading
Loading
+15 −12
Original line number Diff line number Diff line
@@ -219,9 +219,8 @@ static struct spdk_posix_sock *
_spdk_posix_sock_alloc(int fd)
{
	struct spdk_posix_sock *sock;
	int rc;
#ifdef SPDK_ZEROCOPY
	int flag;
	int flag, rc;
#endif

	sock = calloc(1, sizeof(*sock));
@@ -232,15 +231,6 @@ _spdk_posix_sock_alloc(int fd)

	sock->fd = fd;

	rc = spdk_posix_sock_set_recvbuf(&sock->base, SO_RCVBUF_SIZE);
	if (rc) {
		/* Not fatal */
	}

	rc = spdk_posix_sock_set_sendbuf(&sock->base, SO_SNDBUF_SIZE);
	if (rc) {
		/* Not fatal */
	}

#ifdef SPDK_ZEROCOPY
	/* Try to turn on zero copy sends */
@@ -264,7 +254,7 @@ spdk_posix_sock_create(const char *ip, int port, enum spdk_posix_sock_create_typ
	struct addrinfo hints, *res, *res0;
	int fd, flag;
	int val = 1;
	int rc;
	int rc, sz;

	if (ip == NULL) {
		return NULL;
@@ -300,6 +290,19 @@ retry:
			/* error */
			continue;
		}

		sz = SO_RCVBUF_SIZE;
		rc = setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &sz, sizeof(sz));
		if (rc) {
			/* Not fatal */
		}

		sz = SO_SNDBUF_SIZE;
		rc = setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &sz, sizeof(sz));
		if (rc) {
			/* Not fatal */
		}

		rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &val, sizeof val);
		if (rc != 0) {
			close(fd);