Date: Mon, 25 Jun 90 10:10:52 EST From: Dwight D. McKay (The Moderator) Reply-To: Suns-at-Home@orchestra.ecn.purdue.edu Subject: Suns-at-Home Digest V3 #19 To: Suns-at-Home-List Suns-at-Home Digest Mon, 25 Jun 90 Volume 3 : Issue 19 Today's Topics: SLIP experiences sun-2 version of libc_resolver.so anyone? +--------------------------------------------------------------------+ | Submissions: suns-at-home \ @orchestra.ecn.purdue.edu | | Requests: suns-at-home-request > -- or -- | | Archives: suns-at-home-archives / ...rutgers!pur-ee!... | +--------------------------------------------------------------------+ ---------------------------------------------------------------------- Date: Mon, 25 Jun 90 15:21:49 +0200 From: Pieter Venemans Subject: SLIP experiences To: Suns-at-Home@orchestra.ecn.purdue.edu A week ago I posted a question to the USENET about a rather bad performance of Compressed Header SLIP with Telebit T2000 modems between my machine at home and the one at the university (0.6 kbyte/sec). This has been solved now (between 1.2 and 1.4 kbyte/sec). Since my experiences with (C)SLIP might be of interest for all you proud owners of a lovely (old) SUN at home, I submit my summary (together with some more general information) to the Suns-at-Home list too. In my opinion, the Suns-at-Home list is not only for questions and for-sales, so we should have more of these stories :-) SLIP stands for Serial Line IP, and is a way to transmit IP datagrams over serial (rs-232) lines. With SLIP between your home machine and a gateway machine (connected to the internet), you can rlogin, telnet, rsh, ftp to all hosts reachable via the gateway. Not as fast as an ethernet, but tolerable. Compressed Header SLIP is an improvement of SLIP to have better interactive performance on slow links. Details can be found in rfc1055 (SLIP), rfc1144 (Compressed Header SLIP) and the README file in de cslipbeta.tar distribution. My configuration: * gateway: SUN-3/60 (12 Mbyte) with SunOS 4.0.3 * at home: SUN-2/50 (2 Mbyte) with SunOS 3.5 and bsd 4.3-tahoe TCP code from ucbarpa.berkeley.edu * modems: 2 Telebit T2000 modems, interface speed 19.2 kbaud, very clean (local) telephone connection * SLIP: cslipbeta.tar (jan 1990) from rtsg.ee.lbl.gov, version 1.2 for SunOS 4.0, version 1.11 for SunOS 3.5. This version is available from many anon.ftp sites. Installation of the SLIP drivers is quite easy. The only problem with the SunOS 4.0 version was that the "Type Of Service queueing" (giving priority to rlogin/telnet over ftp) was not working properly. Packets were transmitted in the wrong order, and some of them got lost. I had no time to investigate the exact reasons for that, so I removed the queue magic in slip_output(): if (sdp->q) { /* inside splstr() in case sdp->q = 0 */ #ifdef doesnotwork if (hiprio) { /* macchiavelli mode */ <...stuff deleted...> sdp->lastpriopkt = mp; } else #endif putq(sdp->q, mp); The number of stream buffers in param.c should be increased, otherwise you get a lot of 'slip_output can't allocb' messages on the console (and a very bad performance). On the SunOS 3.5 version, the definition of the macro MCLFREE was incomplete. I changed it to: #define MCLFREE(p) { \ extern char *mclrefcnt; \ struct mbuf mxxx; \ mxxx.m_len = MCLBYTES; \ mxxx.m_off = (int)p - (int)xm; \ mxxx.m_cltype = 1; \ mclput(&mxxx); \ } I don't know whether this is correct, but it seems to work. Installation of the bsd 4.3-tahoe code (available by anon.ftp from ucbarpa.berkeley.edu) is highly recommended for a reasonable performance and required only some changes to the pathnames for #include files. The reason for the mentioned bad performance was a badly chosen window size for TCP. In one of the files accompying his Compresses Header SLIP, Van Jacobson suggested lowering the default tcp_sendspace and tcp_recvspace from 4*1024 to 4*256. While this gives better performance with plain 2400 baud modems, it turned out to be a bad idea for T2000 modems. The round trip time for these modems is so large, that TCP couldn't keep the modem sending continuously. The default size 4*1024 gives far more better results. Increasing the window size to 8192 even improves the throughput sometimes, but then there turn up a lot of time-outs and retransmissions, probably because of the fluctuating delay time of such a large buffer. 4096 seems to be a good compromise. Making the retransmit timers more conservative, as suggested by Van Jacobson, is a good idea. Since I have no source code of SunOS 4.0.3, I had to patch the object code with adb... Look for the asrl #2,d0 and asrl #1,d0 instructions in tcp_input(): it closely follows the bsd 4.3-tahoe code. Enabling PEP compression improves performance only marginally, but does not harm either. Interactive response is tolerable. In fact it is not much worse than using a T2000 with tip, or a real terminal. Personally, I prefer to use a rather small MTU (104 or 168): screen updates in emacs just look better (not: 'bang-bang-bang', but 'brrrrrrr..."). Overall througput does not suffer from this. Another issue in bringing up SLIP is that of routing. I did not want to allocate a complete subnet for the SLIP connection. The following trick works OK (suggested by leres@ace.ee.lbl.gov (Craig Leres)): Let's say the SLIP gateway machine's address is 130.161.144.137 (using a netmask of 0xffff0000). Pick any free address on the subnet for the remote SLIP host, say 130.161.144.138. Now on the remote side, ifconfig the SLIP line using the IP address we've chosen for the local end (130.161.144.138) and the address of the gateway for the far end (130.161.144.137). Install a static default route via the gateway (130.161.144.137). On the slip gateway, ifconfig(8) the SLIP line using the gateway and remote addresses (reversed from above). This gives you an interface route to the remote host. Publish an ARP entry for the remote host (130.161.144.138) using the ethernet address of the gateway. (Make sure ipforwarding is enabled.) Something like: arp -s 130.161.144.138 8:0:20:0:82:9 pub Doing so, the gateway will respond to ARP requests for the remote machine with its own ethernet address, and forward packets via the SLIP connection to it. The result of this is that for the rest of the network the remote machine looks like being connected to the ethernet. Advantage is that you can also communicate with machines that are not running routed(8). Overall conclusion: (C)SLIP with T2000 modems works great. Even with 2400 baud modems, it is a pleasure to work with. Any questions or remarks? Please let me know. Pieter -- Pieter H.A. Venemans, Delft University of Technology, the Netherlands DOMAIN: venemans@et.tudelft.nl BITNET/EARN: venemans@hdetud53 UUCP: ...!mcsun!hp4nl!dutrun!dutetvg!pieter VOICE: +3115786272 ------------------------------ Date: Sat, 23 Jun 90 20:46:50 CST From: Simon Hackett Subject: sun-2 version of libc_resolver.so anyone? To: suns-at-home@orchestra.ecn.purdue.edu (Suns-At-Home) Hello friends, Having just upgraded my 2/120 to SunOS 4.0.3, I'm now looking for a copy of the libc.so to use the nameserver resolver routines instead of the host tables. i.e. the thing that's in the sun-fixes directory on uunet for sun-3 and sun-4 architectures. Anyone got a lead on this? (I have SunOS 4.0.3 source code, so if someone can tell me what do tweak and compile to create this library, I could put it up here for ftp by anyone else who wants it) Thanks! Simon -- {----------------------------------------------------------------------------} { Simon Hackett, Communications/Systems, University of Adelaide, Australia } { E-mail: simon@ucs.adelaide.edu.au } { Phone: (Australia) 08 228 5669 Fax: (Australia) 08 223 6245 } { "Unix is a registered bell of AT&T trademark laboratories." } {----------------------------------------------------------------------------} ------------------------------ End of Suns-at-Home Digest ******************************