diff options
-rw-r--r-- | usr.sbin/ospfd/interface.c | 15 | ||||
-rw-r--r-- | usr.sbin/ospfd/ospfe.c | 4 | ||||
-rw-r--r-- | usr.sbin/ospfd/ospfe.h | 4 |
3 files changed, 17 insertions, 6 deletions
diff --git a/usr.sbin/ospfd/interface.c b/usr.sbin/ospfd/interface.c index 5e212044d6b..32844a5ef8d 100644 --- a/usr.sbin/ospfd/interface.c +++ b/usr.sbin/ospfd/interface.c @@ -1,4 +1,4 @@ -/* $OpenBSD: interface.c,v 1.63 2009/06/05 04:12:52 claudio Exp $ */ +/* $OpenBSD: interface.c,v 1.64 2009/08/09 23:04:16 claudio Exp $ */ /* * Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org> @@ -678,7 +678,7 @@ if_set_recvif(int fd, int enable) } void -if_set_recvbuf(int fd) +if_set_sockbuf(int fd) { int bsize; @@ -686,6 +686,17 @@ if_set_recvbuf(int fd) while (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &bsize, sizeof(bsize)) == -1) bsize /= 2; + + if (bsize != 65535) + log_warnx("if_set_sockbuf: recvbuf size only %d", bsize); + + bsize = 65535; + while (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &bsize, + sizeof(bsize)) == -1) + bsize /= 2; + + if (bsize != 65535) + log_warnx("if_set_sockbuf: sendbuf size only %d", bsize); } /* diff --git a/usr.sbin/ospfd/ospfe.c b/usr.sbin/ospfd/ospfe.c index 0a2f2bb2191..b7e38d87ffe 100644 --- a/usr.sbin/ospfd/ospfe.c +++ b/usr.sbin/ospfd/ospfe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ospfe.c,v 1.69 2009/06/06 07:31:26 eric Exp $ */ +/* $OpenBSD: ospfe.c,v 1.70 2009/08/09 23:04:16 claudio Exp $ */ /* * Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org> @@ -104,7 +104,7 @@ ospfe(struct ospfd_conf *xconf, int pipe_parent2ospfe[2], int pipe_ospfe2rde[2], fatal("if_set_ip_hdrincl"); if (if_set_recvif(xconf->ospf_socket, 1) == -1) fatal("if_set_recvif"); - if_set_recvbuf(xconf->ospf_socket); + if_set_sockbuf(xconf->ospf_socket); oeconf = xconf; if (oeconf->flags & OSPFD_FLAG_NO_FIB_UPDATE) diff --git a/usr.sbin/ospfd/ospfe.h b/usr.sbin/ospfd/ospfe.h index d28fba4e2ef..f55de72e176 100644 --- a/usr.sbin/ospfd/ospfe.h +++ b/usr.sbin/ospfd/ospfe.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ospfe.h,v 1.40 2009/06/06 07:31:26 eric Exp $ */ +/* $OpenBSD: ospfe.h,v 1.41 2009/08/09 23:04:16 claudio Exp $ */ /* * Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org> @@ -151,7 +151,7 @@ int if_join_group(struct iface *, struct in_addr *); int if_leave_group(struct iface *, struct in_addr *); int if_set_mcast(struct iface *); int if_set_recvif(int, int); -void if_set_recvbuf(int); +void if_set_sockbuf(int); int if_set_mcast_loop(int); int if_set_ip_hdrincl(int); |