Path: utzoo!utgpu!watmath!clyde!mcdchg!chinet!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!mailrus!ames!amdcad!sun!decwrl!mogul From: mogul@decwrl.dec.com (Jeffrey Mogul) Newsgroups: comp.os.v Subject: Re: crashing V unix server on 4.3 + nfs Message-ID: <867@bacchus.dec.com> Date: 28 Oct 88 22:00:20 GMT References: <8810270030.AA07914@boulder.Colorado.EDU> Distribution: inet Organization: DEC Western Research Lines: 37 In article <8810270030.AA07914@boulder.Colorado.EDU> cdash@BOULDER.COLORADO.EDU (Charles Shub) writes: >our server machine keeps crashing. it is a microvax running 4.3 + nfs > >in bringing up the packet filter, we had to change the call to MCLGET >in enet.c because the distributed code (for 4.2) called MCLGET with 2 >arguments and the macro definition for 4.3 + nfs has only one argument. >we're not sure this got fixed correctly. If anybody else has added the filter >to a 4.3 + nfs configuration, would they be kind enough to help us with >getting the change correct. it is at about line 580 of vaxif/enet.c I can't promise that this is right for you, but this is how my version of the code (which runs in my private copy of Ultrix, NOT a product) looked when it was hacked over by the folks at Stanford (this is a reconstruction; I don't actually have one file with this code in it). if (iov->iov_len >= CLBYTES) { /* big enough to use a page */ register struct mbuf *p; #ifdef SULTRIX if (mclget(m) == 0) #else MCLGET(m, p); if (p == 0) #endif SULTRIX goto nopages; len = CLBYTES; } else { nopages: len = MIN(MLEN, iov->iov_len); } This is NOT GUARANTEED! By the way, I can contemplate rather nasty punishments for people who change the arguments to macros without changing their name. -Jeff