Return to BSD News archive
Newsgroups: comp.os.386bsd.questions Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!ux1.cso.uiuc.edu!news.cso.uiuc.edu!dclipc18.cen.uiuc.edu!rb6775 From: rb6775@dclipc18.cen.uiuc.edu (Rafal Krzysztof Boni) Subject: Re: NFS PROBLEMS AFTER PATCH 0.2.2 Date: Tue, 6 Apr 1993 04:04:16 GMT Message-ID: <C51nB4.7t7@news.cso.uiuc.edu> References: <733572001snz@feline.demon.co.uk> <C4ttG9.2qB@news.cso.uiuc.edu> <Apr.5.21.43.08.1993.3135@geneva.rutgers.edu> Sender: usenet@news.cso.uiuc.edu (Net Noise owner) Organization: University of Illinois at Urbana Lines: 56 hedrick@geneva.rutgers.edu (Charles Hedrick) writes: >rkb55989@uxa.cso.uiuc.edu (Rafal) writes: >> I am running a 0.2.1 system, and am seeing similar problems. Just >> for reference, I am running over SLIP, with my MTU [on the BSD box] >> set at the standard 296. The terminal server I connect to claims it >> is using an MTU of 1536, but all works with the standard BSD MTU, >> except NFS [well, it works somewhat]. >I'm basing these comments on general BSD knowledge, not specific >knowledge of the 386bsd code. TCP should be no problem. The kernel >will send a TCP MSS option when opening the connection. The MSS it >chooses will be based on the MTU. Assuming that the other end >implements MSS correctly (I've seen some oddities with Solaris), no >TCP packet will exceed 296 bytes, and you'll be fine. There is no >equivalent mechanism for UDP. Typically NFS is implemented on top of >UDP. Assuming that the other system is on an Ethernet, it will >fragment the NFS transmission into 1500-byte UDP packets. Since the >terminal server has a full-size MTU, it will pass those packets >unchanged. Unfortunately, the BSD SLIP implemenetations that I've >seen will throw away any incoming packets larger than its MTU. So >you lose. >If this occurs with 386bsd, I can see several possible solutions: > - increase the MTU to 1500 bytes (or whatever number you need > to account for overhead). How does one do this?? My experiment with simply pumping the #define in if_sl.c (or .h) did not seem to work... I got gobs of collisions being reported my netstat... > - decrease the terminal server MTU to 296 (or whatever number > is needed to account for overhead). At least with Cisco > terminal servers, that will cause the terminal server > to fragment the packets to 296 bytes. BSD should > then be able to handle them. I wish I could, but I'm not am employee of the campus computer sevices office [not that they's let me do it in that case anyway]. > - specify rsize=296 (minus some number of overhead bytes, I > suspect). But I have a feeling this isn't going to be > practical. This did not really seem to fix the problem... I will try some more stuff and follow up.... Thanks for the input. Rafal /------------------------------------------------------------------------\ |Rafal Boni r-boni@uiuc.edu| |"Me have a .sig?? I don't even have a clue!" rkb55989@uxa.cso.uiuc.edu| | -Anonymous rb6775@caffeine.cen.uiuc.edu| \------------------------------------------------------------------------/