[Babel-users] Bucket full, dropping packet
Juliusz Chroboczek
jch at pps.univ-paris-diderot.fr
Thu Dec 10 11:06:12 UTC 2015
> netlink_read: recvmsg(): No buffer space available
Could you please test the attached patch and let me know if it fixes this
particular issue? (Completely untested, sorry, no time right now.)
-- Juliusz
diff --git a/kernel_netlink.c b/kernel_netlink.c
index d32a5d8..b2683cb 100644
--- a/kernel_netlink.c
+++ b/kernel_netlink.c
@@ -232,6 +232,7 @@ static int
netlink_socket(struct netlink *nl, uint32_t groups)
{
int rc;
+ int rcvsize = 256 * 1024;
nl->sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
if(nl->sock < 0)
@@ -252,6 +253,20 @@ netlink_socket(struct netlink *nl, uint32_t groups)
if(rc < 0)
goto fail;
+#ifdef SO_RCVBUFFORCE
+ rc = setsockopt(nl->sock, SOL_SOCKET, SO_RCVBUFFORCE,
+ &rcvsize, sizeof(rcvsize));
+#else
+ rc = -1;
+#endif
+ if(rc < 0) {
+ rc = setsockopt(nl->sock, SOL_SOCKET, SO_RCVBUF,
+ &rcvsize, sizeof(rcvsize));
+ if(rc < 0) {
+ perror("setsockopt(SO_RCVBUF)");
+ }
+ }
+
rc = bind(nl->sock, (struct sockaddr *)&nl->sockaddr, nl->socklen);
if(rc < 0)
goto fail;
More information about the Babel-users
mailing list