From 4e4c8c7a1cca2125e2bf2a67cbab0bdbd78fdb86 Mon Sep 17 00:00:00 2001
From: He Zhe <zhe.he@windriver.com>
Date: Tue, 30 Jul 2019 13:24:22 +0800
Subject: [PATCH] ptts: Set recv buffer size too max to receive as many
 packets as possible

Flooding multicast may make the rcv buffer overrun and is considered
premature messages later and thus cause the following error.

"Ignoring premature msg 16, currently handling 12"

This patch sets SO_RCVBUF the of socket to max int value to receive as many
packets as possible, and give a hint to user when possible overrun occurs. Note
that the value of SO_RCVBUF will be limited up to min(INT_MAX/2,
sysctl_rmem_max) in kernel.

Signed-off-by: He Zhe <zhe.he@windriver.com>

Upstream-Status: Backport

Signed-off-by: Li Zhou <li.zhou@windriver.com>
---
 ptts/tipc_ts_server.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/ptts/tipc_ts_server.c b/ptts/tipc_ts_server.c
index a286daa..3a2f96f 100644
--- a/ptts/tipc_ts_server.c
+++ b/ptts/tipc_ts_server.c
@@ -641,8 +641,9 @@ void server_mcast
 				if (rc < 0)
 					err("multicast message not received");
 				if (msgno != *(int*) buf) {
-					dbg1("Ignoring premature msg %u, currently handling %u\n",
-					       *(int*)buf, msgno);
+					dbg1("Ignoring premature msg %u, currently handling %u\n"
+                                             "You can enlarge /proc/sys/net/core/rmem_max and try again\n",
+                                             *(int*)buf, msgno);
 					continue;
 				}
 				rc = recvfrom(sd[i], buf, expected_szs[numSubTest], 
@@ -687,8 +688,21 @@ void server_test_multicast(void)
 	FD_ZERO(&readfds);
 
 	for (i = 0; i < TIPC_MCAST_SOCKETS; i++) {
+		int optval = (int)(~0U >> 1);
+		socklen_t optlen = sizeof(optval);
+		int rc = 0;
+
 		sd[i] = createSocketTIPC (SOCK_RDM);
 		FD_SET(sd[i], &readfds);
+
+		/*
+                 * Flooding multicast may make the rcv buffer overrun and considered premature msg later.
+                 * Set SO_RCVBUF to max int value to receive as many packets as possible.
+                 * Note that it will be limited up to min(INT_MAX/2, sysctl_rmem_max) in kernel.
+                 */
+		rc = setsockopt(sd[i], SOL_SOCKET, SO_RCVBUF, (const char*)&optval, optlen);
+		if(rc != 0)
+			printf("Failed to set SO_RCVBUF of %d: %s\n", sd[i], strerror(errno));
 	}
 
 	server_bindMulticast(  0,  99, sd[0]);
-- 
2.17.1

