From 3fff4c4a0fbb1b132348d4b82f61cc38a4cc6cb2 Mon Sep 17 00:00:00 2001
From: Nayana Bidari <nybidari@google.com>
Date: Tue, 20 Apr 2021 09:30:57 -0700
Subject: Move SO_RCVBUF to socketops.

Fixes #2926, #674

PiperOrigin-RevId: 369457123
---
 test/syscalls/linux/packet_socket_raw.cc       |  6 +-----
 test/syscalls/linux/raw_socket.cc              | 12 ++----------
 test/syscalls/linux/socket_ipv4_udp_unbound.cc |  4 +---
 test/syscalls/linux/udp_socket.cc              |  9 ++-------
 4 files changed, 6 insertions(+), 25 deletions(-)

(limited to 'test')

diff --git a/test/syscalls/linux/packet_socket_raw.cc b/test/syscalls/linux/packet_socket_raw.cc
index d25be0e30..72080a272 100644
--- a/test/syscalls/linux/packet_socket_raw.cc
+++ b/test/syscalls/linux/packet_socket_raw.cc
@@ -440,11 +440,7 @@ TEST_P(RawPacketTest, SetSocketRecvBuf) {
   ASSERT_THAT(getsockopt(s_, SOL_SOCKET, SO_RCVBUF, &val, &val_len),
               SyscallSucceeds());
 
-  // Linux doubles the value set by SO_SNDBUF/SO_RCVBUF.
-  // TODO(gvisor.dev/issue/2926): Remove when Netstack matches linux behavior.
-  if (!IsRunningOnGvisor()) {
-    quarter_sz *= 2;
-  }
+  quarter_sz *= 2;
   ASSERT_EQ(quarter_sz, val);
 }
 
diff --git a/test/syscalls/linux/raw_socket.cc b/test/syscalls/linux/raw_socket.cc
index 32924466f..69616b400 100644
--- a/test/syscalls/linux/raw_socket.cc
+++ b/test/syscalls/linux/raw_socket.cc
@@ -514,10 +514,7 @@ TEST_P(RawSocketTest, SetSocketRecvBuf) {
               SyscallSucceeds());
 
   // Linux doubles the value set by SO_SNDBUF/SO_RCVBUF.
-  // TODO(gvisor.dev/issue/2926): Remove when Netstack matches linux behavior.
-  if (!IsRunningOnGvisor()) {
-    quarter_sz *= 2;
-  }
+  quarter_sz *= 2;
   ASSERT_EQ(quarter_sz, val);
 }
 
@@ -713,12 +710,7 @@ TEST_P(RawSocketTest, RecvBufLimits) {
   }
 
   // Now set the limit to min * 2.
-  int new_rcv_buf_sz = min * 4;
-  if (!IsRunningOnGvisor()) {
-    // Linux doubles the value specified so just set to min.
-    new_rcv_buf_sz = min * 2;
-  }
-
+  int new_rcv_buf_sz = min * 2;
   ASSERT_THAT(setsockopt(s_, SOL_SOCKET, SO_RCVBUF, &new_rcv_buf_sz,
                          sizeof(new_rcv_buf_sz)),
               SyscallSucceeds());
diff --git a/test/syscalls/linux/socket_ipv4_udp_unbound.cc b/test/syscalls/linux/socket_ipv4_udp_unbound.cc
index 8b418f01f..18be4dcc7 100644
--- a/test/syscalls/linux/socket_ipv4_udp_unbound.cc
+++ b/test/syscalls/linux/socket_ipv4_udp_unbound.cc
@@ -2305,9 +2305,7 @@ TEST_P(IPv4UDPUnboundSocketTest, SetSocketRecvBuf) {
               SyscallSucceeds());
 
   // Linux doubles the value set by SO_SNDBUF/SO_RCVBUF.
-  if (!IsRunningOnGvisor()) {
-    quarter_sz *= 2;
-  }
+  quarter_sz *= 2;
   ASSERT_EQ(quarter_sz, val);
 }
 
diff --git a/test/syscalls/linux/udp_socket.cc b/test/syscalls/linux/udp_socket.cc
index 4aa29037a..18f566eec 100644
--- a/test/syscalls/linux/udp_socket.cc
+++ b/test/syscalls/linux/udp_socket.cc
@@ -1904,13 +1904,8 @@ TEST_P(UdpSocketTest, RecvBufLimits) {
                 SyscallSucceeds());
   }
 
-  // Now set the limit to min * 4.
-  int new_rcv_buf_sz = min * 4;
-  if (!IsRunningOnGvisor() || IsRunningWithHostinet()) {
-    // Linux doubles the value specified so just set to min * 2.
-    new_rcv_buf_sz = min * 2;
-  }
-
+  // Now set the limit to min * 2.
+  int new_rcv_buf_sz = min * 2;
   ASSERT_THAT(setsockopt(bind_.get(), SOL_SOCKET, SO_RCVBUF, &new_rcv_buf_sz,
                          sizeof(new_rcv_buf_sz)),
               SyscallSucceeds());
-- 
cgit v1.2.3