diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 2ca0de4..9e6c440 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -84,6 +84,8 @@
 
 extern struct zebra_privs_t zserv_privs;
 
+extern u_int32_t nl_rcvbufsize;
+
 /* Make socket for Linux netlink interface. */
 static int
 netlink_socket (struct nlsock *nl, unsigned long groups)
@@ -110,6 +112,48 @@
       return -1;
     }
 
+  /* Set receive buffer size if it's set from command line */
+  if (nl_rcvbufsize)
+    {
+      u_int32_t oldsize, oldlen;
+      u_int32_t newsize, newlen;
+
+      oldlen = sizeof(oldsize);
+      newlen = sizeof(newsize);
+
+      ret = getsockopt(sock, SOL_SOCKET, SO_RCVBUF, &oldsize, &oldlen);
+      if (ret < 0)
+	{
+	  zlog (NULL, LOG_ERR, "Can't get %s receive buffer size: %s", nl->name,
+		strerror (errno));
+	  close (sock);
+	  return -1;
+	}
+
+      ret = setsockopt(sock, SOL_SOCKET, SO_RCVBUF, &nl_rcvbufsize,
+		       sizeof(nl_rcvbufsize));
+      if (ret < 0)
+	{
+	  zlog (NULL, LOG_ERR, "Can't set %s receive buffer size: %s", nl->name,
+		strerror (errno));
+	  close (sock);
+	  return -1;
+	}
+
+      ret = getsockopt(sock, SOL_SOCKET, SO_RCVBUF, &newsize, &newlen);
+      if (ret < 0)
+	{
+	  zlog (NULL, LOG_ERR, "Can't get %s receive buffer size: %s", nl->name,
+		strerror (errno));
+	  close (sock);
+	  return -1;
+	}
+
+      zlog (NULL, LOG_INFO,
+	    "Setting netlink socket receive buffer size: %u -> %u",
+	    oldsize, newsize);
+    }
+
   memset (&snl, 0, sizeof snl);
   snl.nl_family = AF_NETLINK;
   snl.nl_groups = groups;
