Re: RIP congestion woes......


Keith Sklower (sklower@renoir.Berkeley.EDU)
Mon, 21 Sep 87 18:36:29 PDT


In his message of Mon, 21 Sep 87 16:32:08 -0400, Mark Fedor
<fedor@devvax.tn.cornell.edu> 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 ----



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:39:16 GMT