Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!hao!boulder!sunybcs!rutgers!ucla-cs!zen!ucbvax!RENOIR.BERKELEY.EDU!sklower From: sklower@RENOIR.BERKELEY.EDU (Keith Sklower) Newsgroups: comp.protocols.tcp-ip Subject: Re: RIP congestion woes...... Message-ID: <8709220136.AA16822@renoir.Berkeley.EDU> Date: Mon, 21-Sep-87 21:36:29 EDT Article-I.D.: renoir.8709220136.AA16822 Posted: Mon Sep 21 21:36:29 1987 Date-Received: Wed, 23-Sep-87 05:03:17 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 36 In his message of Mon, 21 Sep 87 16:32:08 -0400, Mark Fedor writes: : The routing process opens one socket and listens on the : RIP port. If I read the UDP code right, each socket : allocates space for 4k of datagrams. CU-ARPA is : easily dropping RIP packets left and right. : : Has anyone else experienced this? Any suggestions? I suppose : I could increase "udp_recvspace" in netinet/udp_usrreq.c, : but that would only prolong the agony. In fact, this has been noticed here at Berkeley as well. It is possible in 4.3 unix to increase the buffering for a particular datagram socket, and the current version of routed has been changed to do that to circumvent this problem. (There have been other changes since 4.3, but Mike Karels is traveling, and will not be able to supply a definitive statement about which are worth incorporating until his return). In the meantime, you can apply this patch to routed/main.c: *** main.c.fix Mon Sep 21 18:22:13 1987 --- main.c Mon Sep 21 18:19:11 1987 *************** *** 186,195 **** close(s); return (-1); } - on = 48*1024; - if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, &on, sizeof (on)) < 0) - syslog(LOG_ERR, "setsockopt SO_RCVBUF: %m"); - if (bind(s, sin, sizeof (*sin), 0) < 0) { perror("bind"); syslog(LOG_ERR, "bind: %m"); --- 186,191 ----