summaryrefslogtreecommitdiffstats
path: root/vtysh
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-12-04 00:49:59 +0100
committerDonald Sharp <sharpd@nvidia.com>2024-12-04 00:49:59 +0100
commit959dbe27cde21ab212f6566b30865b2da418b4d2 (patch)
tree8545189ed58a89577e07ac194ed868512736cdab /vtysh
parentlib: Allow setsockopt functions to return size set (diff)
downloadfrr-959dbe27cde21ab212f6566b30865b2da418b4d2.tar.xz
frr-959dbe27cde21ab212f6566b30865b2da418b4d2.zip
lib,vtysh: Use backoff setsockopt option for freebsd
Commit: 9112fb367b1ae0168b4e7a81f41c2ca621979199 Introduced the idea of setting the socket buffer send/receive sizes. BSD's in general have the fun issue of not allowing nearly as large as a size as linux. Since the above commit was developed on linux and not run on bsd it was never tested. Modify the codebase to use the backoff setsockopt that we have in the code base and use the returned values to allow us to notice what was set and respond appropriately. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'vtysh')
-rw-r--r--vtysh/vtysh.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index 5a54c60c6..c460dea70 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -39,6 +39,7 @@
#include "frrstr.h"
#include "json.h"
#include "ferr.h"
+#include "sockopt.h"
DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CMD, "Vtysh cmd copy");
@@ -4690,9 +4691,8 @@ static int vtysh_connect(struct vtysh_client *vclient)
* Increasing the RECEIVE socket buffer size so that the socket can hold
* after receving from other process.
*/
- ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (char *)&rcvbufsize,
- sizeof(rcvbufsize));
- if (ret < 0) {
+ ret = setsockopt_so_recvbuf(sock, rcvbufsize);
+ if (ret <= 0) {
#ifdef DEBUG
fprintf(stderr, "Cannot set socket %d rcv buffer size, %s\n",
sock, safe_strerror(errno));