diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index feba89a..ce76516 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,10 @@
+2007-09-18 Denis Ovsienko
+
+	* ospf_network.c: (ospf_adjust_sndbuflen) Don't complain
+	  about getting more buffer space, than requested.
+	* ospfd.[ch]: (ospf_new) Abandon OSPF_SNDBUFLEN_DEFAULT
+	  and consider OS's initial buffer size instead.
+
 2007-08-21 Denis Ovsienko
 
 	* ospfd.h: Extend struct ospf with maxsndbuflen field and
diff --git a/ospfd/ospf_network.c b/ospfd/ospf_network.c
index 11155db..d5bf749 100644
--- a/ospfd/ospf_network.c
+++ b/ospfd/ospf_network.c
@@ -249,15 +249,15 @@
     zlog_err ("%s: could not raise privs, %s", __func__,
       safe_strerror (errno));
   /* Now we try to set SO_SNDBUF to what our caller has requested
-   * (OSPF_SNDBUFLEN_DEFAULT initially, which seems to be a sane
-   * default; or the MTU of a newly added interface). However,
-   * if the OS has truncated the actual buffer size to somewhat
-   * less or bigger size, try to detect it and update our records
-   * appropriately.
+   * (the MTU of a newly added interface). However, if the OS has
+   * truncated the actual buffer size to somewhat less size, try
+   * to detect it and update our records appropriately. The OS
+   * may allocate more buffer space, than requested, this isn't
+   * a error.
    */
   ret = setsockopt_so_sendbuf (ospf->fd, buflen);
   newbuflen = getsockopt_so_sendbuf (ospf->fd);
-  if (ret < 0 || newbuflen != buflen)
+  if (ret < 0 || newbuflen < buflen)
     zlog_warn ("%s: tried to set SO_SNDBUF to %d, but got %d",
       __func__, buflen, newbuflen);
   if (newbuflen >= 0)
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 8133050..a4c4fac 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -33,6 +33,7 @@
 #include "sockunion.h"          /* for inet_aton () */
 #include "zclient.h"
 #include "plist.h"
+#include "sockopt.h"
 
 #include "ospfd/ospfd.h"
 #include "ospfd/ospf_network.h"
@@ -212,8 +213,10 @@
 	       "a socket");
       exit(1);
     }
-  new->maxsndbuflen = 0;
-  ospf_adjust_sndbuflen (new, OSPF_SNDBUFLEN_DEFAULT);
+  new->maxsndbuflen = getsockopt_so_sendbuf (new->fd);
+  if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE))
+    zlog_debug ("%s: starting with OSPF send buffer size %d",
+      __func__, new->maxsndbuflen);
   if ((new->ibuf = stream_new(OSPF_MAX_PACKET_SIZE+1)) == NULL)
     {
       zlog_err("ospf_new: fatal error: stream_new(%u) failed allocating ibuf",
diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h
index b0a14ce..7a0ffce 100644
--- a/ospfd/ospfd.h
+++ b/ospfd/ospfd.h
@@ -129,9 +129,6 @@
 #define OSPF_LS_REFRESH_SHIFT       (60 * 15)
 #define OSPF_LS_REFRESH_JITTER      60
 
-/* Initial send buffer size for ospfd raw sending socket. */
-#define OSPF_SNDBUFLEN_DEFAULT           1024
-
 /* OSPF master for system wide configuration and variables. */
 struct ospf_master
 {
