summaryrefslogtreecommitdiff
path: root/src/libnet_init.c
diff options
context:
space:
mode:
authorJoachim Wiberg <troglobit@gmail.com>2022-09-26 13:18:20 +0200
committerGitHub <noreply@github.com>2022-09-26 13:18:20 +0200
commitcdd8d4e59c8a042f97f3983bfe26ccf4172c1884 (patch)
tree56256068e13c92b7f9d576c65bb219c8a74ba580 /src/libnet_init.c
parent76ce72d1bce9615fe8860ad322597a410bb8d437 (diff)
parent79ff87bd02d21379c33496c1fa50a89312773140 (diff)
downloadlibnet-cdd8d4e59c8a042f97f3983bfe26ccf4172c1884.tar.gz
Merge pull request #148 from beni-sandu/master
libnet_raw: don't change the TX buffer size for raw sockets Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Diffstat (limited to 'src/libnet_init.c')
-rw-r--r--src/libnet_init.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libnet_init.c b/src/libnet_init.c
index fe5b613..5350aab 100644
--- a/src/libnet_init.c
+++ b/src/libnet_init.c
@@ -172,6 +172,26 @@ libnet_getfd(libnet_t *l)
return (int)(l->fd);
}
+#ifdef SO_SNDBUF
+int
+libnet_setfd_max_sndbuf(libnet_t *l, int max_bytes)
+{
+ if (l == NULL)
+ return (-1);
+
+ /* Try to set the buffer size to max_bytes */
+ if (setsockopt(l->fd, SOL_SOCKET, SO_SNDBUF, &max_bytes, sizeof(max_bytes)) < 0)
+ {
+ snprintf(l->err_buf, LIBNET_ERRBUF_SIZE,
+ "%s(): set SO_SNDBUF failed: %s",
+ __func__, strerror(errno));
+ return (-1);
+ }
+
+ return (0);
+}
+#endif /* SO_SNDBUF */
+
const char *
libnet_getdevice(libnet_t *l)
{