Date: Fri, 7 Mar 1997 05:11:20 +1100 From: Bruce Evans <bde@zeta.org.au> To: hackers@FreeBSD.ORG, jkh@time.cdrom.com Subject: Re: Weirdie with SLIP line seen here too... Message-ID: <199703061811.FAA12675@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Strange, now I'm seeing that magic "bit pattern-o-death" that >guarantees that the download of a given file over a slip line will >always hang in a given place. See if any of you fellow sufferers can >download the following file: > > ftp://freefall.freebsd.org/pub/jkh/badbits > >If not, we may be onto something which could enable more reasonable >failure analysis to take place. Oops. I made the clist limit too small by a factor of 2 (special characters like the ones in "badbits" get expanded by a factor of 2). This problem only affects the sender. The problem was rare because the limit had 0-254 bytes of slop, depending on the mtu and the buffer state. The default mtu of 552 had 48-175 bytes of slop depending on the buffer state. An mtu of 352 works for "badbits" for some reason. Try this fix. Bruce diff -c2 if_sl.c~ if_sl.c *** if_sl.c~ Mon Feb 24 00:37:09 1997 --- if_sl.c Fri Mar 7 04:46:33 1997 *************** *** 298,303 **** clist_alloc_cblocks(&tp->t_canq, 0, 0); clist_alloc_cblocks(&tp->t_outq, ! sc->sc_if.if_mtu + SLIP_HIWAT, ! sc->sc_if.if_mtu + SLIP_HIWAT); clist_alloc_cblocks(&tp->t_rawq, 0, 0); --- 295,300 ---- clist_alloc_cblocks(&tp->t_canq, 0, 0); clist_alloc_cblocks(&tp->t_outq, ! SLIP_HIWAT + 2 * sc->sc_if.if_mtu + 1, ! SLIP_HIWAT + 2 * sc->sc_if.if_mtu + 1); clist_alloc_cblocks(&tp->t_rawq, 0, 0); *************** *** 974,979 **** if (tp != NULL) clist_alloc_cblocks(&tp->t_outq, ! ifp->if_mtu + SLIP_HIWAT, ! ifp->if_mtu + SLIP_HIWAT); } break; --- 971,976 ---- if (tp != NULL) clist_alloc_cblocks(&tp->t_outq, ! SLIP_HIWAT + 2 * ifp->if_mtu + 1, ! SLIP_HIWAT + 2 * ifp->if_mtu + 1); } break;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703061811.FAA12675>