morrison@accuvax.nwu.edu (Vance Morrison ) (04/03/89)
Hello All, I have developed software for Turning a klunky old IBM XT into a IP router. Below is a description of the software I wrote. The software is available via anonymous FTP from accuvax.nwu.edu (129.105.49.1) in the directory pub/pcroute. We here at Northwestern have found this program to be very useful Already we have replaced a major Hub in our network with a PCrouter and others additions/substitutions are planned. If you find this program useful, let me know, it helps my ego (:-). Vance -------------------------------------------------------------------------- PCROUTE - and IP routing program from the IBM PC Vance Morrison morrison@accuvax.nwu.edu Traditionally IP routers have been fairly high performance, expensive machines. Typically they run about $5000-$10,000 a unit. Until now a IP router for under $5000 was just about impossible to get. Recent developments in PC hardware, however, has made it possible to convert a PC to an IP router for a TOTAL of $800-$1000 a unit. This price is less that the cost of many ethernet boards and thus it now makes sense to always use dedicated router to perform IP gatewaying functions. --------------------------------------------------------------------- What is PCroute? PCroute is software written for an PC/XT (or AT) that will allow it to act as a IP router that will gateway between the following kinds of Physical media. Ethernet - Ethernet Ethernet - Starlan Starlan - Starlan In addition to the XT, the only other hardware needed are the networking cards, which at present run about $200-$250 a piece. Since you can buy an XT (without an monitor) for $400, the total cost for the hardware is $800-$900. --------------------------------------------------------------------- What do I need to install PCroute? 1) An XT computer (does not need monitor) 2) 2 Western Digital WD8003 network cards WD8003E Ethercard Plus WD8003S Starcard Plus WD8003SH Starlink Plus --------------------------------------------------------------------- How Fast is PC route? Some may argue that a PC simply is not fast enough to be a good IP router. This would true if the PC had to do all the work, but in fact, the ethernet cards do most of the work. All the PC needs to do is determine the route, and copy the packet from one interface to the other. By programming in assembler and optimizing for peak efficiency, the PC is up to the task. Actual tests indicate that that following formula is a worst case estimate of throughput of PCroute on a 4.77Mhz XT packet_delay = .473 + .00393 * len msec Where 'len' is the length of the packet in bytes. Thus PCroute has a fix per packet overhead of .473msec and takes 3.93usec/byte to transfer the packet from one network to the other. Thus for the largest packet size (1514) we get throughput of packet_delay = .473 + .00393 * 1514 = 6.4 ms throughput = len*8/packet_delay = 1.9 Mbit/sec For the smallest packet size (64) we get a throughput of packet_delay = .473 + .00393 * 64 = .724 ms throughput = len*8/packet_delay = .7 Mbit/sec If you were to buy a XT clone, (even the $400 variety) it would undoubtedly be a 8Mhz or 10Mhz machine, so you should expect to do 1.6 and 2.0 times better respectively with these machines. I most strongly suggest that you get the 10Mhz variety since they are usually only $30 more and will give you a 12% performance boost In addition the Ethernet boards have an on-board 6.5K packet buffer. Thus packets that come at the PCrouter too fast for it to process will be queued. The router will start dropping packets after this 6.5K buffer is exhausted. Note that since SUN NFS likes to send 8K blocks in fast spurts this will sometimes cause the router to drop packets. I suggest that you set this block size down to 4K if you expect a lot of NFS traffic through the router (look for 'wsize' in man fstab). --------------------------------------------------------------------- What PC route supports? PCroute was designed to be as simple as possible yet perform well as a IP router. In particular it supports 1) IP routing with Subsets (however the subnet mask must begin with 255.255) 2) Static routing with up to 250 routes. 3) responds to ICMP echo (ping) 3) Directed broadcasts The PCrouter also has support for more than two network interfaces, but this requires recompilation of the code, so for now you will have to contact me. --------------------------------------------------------------------- What PC route DOESN'T support? 1) Dynamic routing (yet) 2) Booting off the network (BOOTP) (yet) 3) Any IP services besides routing and ICMP echo. 4) Any other Ethernet/starlan card besides Western Digital WD8003 --------------------------------------------------------------------- Coming Soon. 1) RIP Support 2) Appletalk - Ethernet Support (like a KIP box but you can tunnel IP packets through the Appletalk network) Here at NU we use this so that we can get cheap, reasonably fast network access between buildings. 3) Network Booting a la BOOTP 4) The other ICMP functions so that router conforms to RFC1009 --------------------------------------------------------------------- Hints 1) We found that the 10Mhz XT clones that Jamco and others sell work very well. One nice feature about these units is their BIOS. By setting the dip switches in the PC, you can tell it that there is no Monitor. This also tells the BIOS not to check for a keyboard either. Thus you don't need to buy either the keyboard or the monitor. Other XT BIOS ALWAYS check for the keyboard, and thus you have to plug it in even though you never use it. --------------------------------------------------------------------- Reliability The reliability of PCroute has been EXCELLENT. We have been using these routers for months now in three places with absolutely no failures. If you wish to PING one for yourself here are some PC routers on our campus 129.105.49.13 129.105.1.1 129.105.7.1 --------------------------------------------------------------------- Comments and Bug reports I am interested in finding out what you think of PCroute and how well it performs for you. I am also interested in hearing about any problems you have or bugs in the documentation. You should send your comments to Vance Morrison <morrison@accuvax.nwu.edu> Note that since I am not paid to support this software, I can not guarantee that I can respond to your problem, but I will try. Vance Morrison Northwestern University
henry@utzoo.uucp (Henry Spencer) (04/04/89)
In article <583@accuvax.nwu.edu.NWU.EDU> morrison@accuvax.nwu.edu (Vance Morrison ) writes: >I have developed software for Turning a klunky old IBM XT into >a IP router... Was there some reason not to just use the Phil Karn ("KA9Q") TCP/IP for the PC/XT/AT/...? I can't see any reason why Phil's stuff wouldn't make a perfectly good router; were you aware of its existence? -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
rpw3@amdcad.AMD.COM (Rob Warnock) (04/04/89)
In article <1989Apr4.000727.2759@utzoo.uucp> henry@utzoo.uucp writes: +--------------- | In article <583@accuvax.nwu.edu.NWU.EDU> morrison@accuvax.nwu.edu writes: | >I have developed software for Turning a klunky old IBM XT into a IP router... | Was there some reason not to just use the Phil Karn ("KA9Q") TCP/IP | for the PC/XT/AT/...? I can't see any reason why Phil's stuff wouldn't | make a perfectly good router; were you aware of its existence? +--------------- Well, for one thing, Phil's code associates an IP address with the *host*, not with each interface. (See? KA9Q isn't *perfect*... yet.) That's all right when you a gatewaying from (say) Ethernet to a SLIP link, but isn't so hot if you are trying to go Ether-to-Ether. (Someone at AMD hacked the KA9Q code to put the IP addresses with the interface, and *is* playing with it as an experimental IP router. But it's a hack, and not completely general. Best would be for one of the real KA9Q maintainers to do an "official" fix.) Rob Warnock Systems Architecture Consultant UUCP: {amdcad,fortune,sun}!redwood!rpw3 DDD: (415)572-2607 USPS: 627 26th Ave, San Mateo, CA 94403
les@chinet.chi.il.us (Leslie Mikesell) (04/05/89)
In article <1989Apr4.000727.2759@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: > >Was there some reason not to just use the Phil Karn ("KA9Q") TCP/IP >for the PC/XT/AT/...? I can't see any reason why Phil's stuff wouldn't >make a perfectly good router; were you aware of its existence? Is there anything similar for OSI protocols? I would like to split a 1 Megabit starlan into at least 2 sub-nets but the only thing I have seen to connect them would be to put 10-1 bridges back to back (at about $4500 each). A PC with two boards sounds a lot nicer. Les Mikesell
karn@jupiter (Phil R. Karn) (04/05/89)
>Well, for one thing, Phil's code associates an IP address with the *host*, >not with each interface. (See? KA9Q isn't *perfect*... yet.) I consider that a feature, not a bug. :-) Seriously, I have always considered the Internet approach of giving addresses to interfaces rather than to hosts to have been a bad move, and my approach of "one IP address per customer" was a deliberate design decision based on how I wanted the amateur packet radio TCP/IP network to evolve. Nevertheless, you can still make my code emulate a conventional Ethernet router with two distinct addresses by merely enabling proxy ARP. You assign the router running KA9Q an address on each network. One of these addresses becomes the host address for the system; the other is entered into the ARP table with the "publish" subcommand such that it answers ARP requests for that address with the Ethernet address of the appropriate interface. For example, consider a system with two Ethernet interfaces and two IP addresses as follows: Interface A: Ethernet addr 02:60:8c:0:0:1 IP addr 1.2.3.4 Interface B: Ethernet addr 02:60:8c:0:0:2 IP addr 44.0.0.1 The autoexec.net file would contain, among other things, the following two lines: ip address [1.2.3.4] arp publish [44.0.0.1] ethernet 02:60:8c:0:0:2 This will make the system behave just as it should for purposes of routing packets. The only precaution you have to make is to use the router's "primary" IP address whenever you want to talk directly to it as a host. Of course, it is then operating as a host, not a router... Phil
zdwcv@dcatla.UUCP (Wm. C. VerSteeg) (04/05/89)
The notion of a cheap IP router based on a PC is a good one. When we start talking about implementations, some interesting ideas get thrown out. Is a proxy arp scheme good enough scheme for such a low-end router? Phil Karn says that his KA9Q can be used as a router by configuring it for proxy arp. If the intended user group is relatively sophisticated, and is confining itself to a SMALL network environment, I would say that proxy arp is sufficient. But proxy arp is not intended for large networks. There is no distributed routing algorithm, so it does not scale well at all. Proxy arp schemes would not work in the internet at large, but may be usefull in some limited applications. Carefully look at your options before you decide to use a package that was not designed to be a router as a router. Bill VerSteeg
karn@ka9q.bellcore.com (Phil Karn) (04/06/89)
>Is a proxy arp scheme good enough scheme for such a low-end router? >Phil Karn says that his KA9Q can be used as a router by configuring >it for proxy arp...[]..Proxy arp schemes would not work in the internet at >large, but may be usefull in some limited applications. You misunderstood the reason I suggested you use proxy arp. The idea was to use it only to circumvent the "one IP address per system" design inherent in my code. Proxy arp allows the package to reply properly to ARP requests for its secondary IP address. You could, of course, go further and use my proxy arp as a general routing mechanism, but in this case the objections you raise become valid. There is, however, no routing algorithm code in my package, although there is talk of adding OSPFIGP. Phil
fink@nucthy.physics.orst.edu (Paul Fink) (04/07/89)
In article <1989Apr4.000727.2759@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes: >Was there some reason not to just use the Phil Karn ("KA9Q") TCP/IP >for the PC/XT/AT/...? I can't see any reason why Phil's stuff wouldn't >make a perfectly good router; were you aware of its existence? >-- >Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology >passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu Ah, I'm not aware of it's existence. Could you tell me wher to get it? ____________________________________________________________________________ Paul J. Fink Jr. Internet: Oregon State University fink@PHYSICS.ORST.EDU Department of Physics Phone: Corvallis, Oregon 97331 (503) 754-4631
mah@hpuviea.UUCP (Michael Haberler) (04/08/89)
We're using KA9Q as a 'super cheap' IP router for about a year now at the University of Economics at Vienna. It's an AT clone bridging a NetBIOS IBM PC Network (broadband - the early works from IBM & Sytek) and the campus ethernet. Also, it has a permanent SLIP connection to a remote PC Network running with 19200 baud. We also experimented with two KA9Q's and dialup SLIP for bridging two distant Ethernets. This worked flawless as long as traffic is low; given the average dumb PC hardware it's easy to lose interrupts when traffic is coming in from more than one side. Especially the Slip connection deteriorated badly under high load. The Ethernet card we use (3c501 - yes I know) keeps the CPU busy with interrupts disabled too long so the serial port just is overrun. The Netbios/slip route actually works better, probably due to less latency of the Netbios driver. I think that a bridge able to sustain higer traffic would need interface cards with substantial on-board buffering. The one-interrupt-per-character scheme for slip would need to be replaced with at least DMA, or better an own CPU on the card. Remember: this all is due to the !@*&^% PC hardware having lousy real-time performance. KA9Q never gave us a problem (Kudos, Phil!). Michael Haberler & Gustaf Neumann (neumann@awiwuw11.bitnet) -- Michael Haberler mah@hpuviea.uucp Hewlett-Packard Austria GmbH, ...mcvax!tuvie!hpuviea!mah Lieblgasse 1 ...hplabs!hpfcla!hpbbn!hpuviea!mah A-1220 Vienna, Austria Tel: (0043) (222) 2500 x412 (9-18 CET)
mshiels@tmsoft.uucp (Michael A. Shiels) (04/10/89)
The best ideas for helping to support a PC as a gateway machine are SMART ethernet cards and SMART serial cards. (Or us a 16550 UART which has 16 byte buffers for in/out bound data). You can write packet drivers which will talk to a smart serial card which has a custom process written to run on it which talks SLIP.
henry@utzoo.uucp (Henry Spencer) (04/12/89)
In article <1989Apr10.032326.12080@tmsoft.uucp> mshiels@tmsoft.UUCP (Michael A. Shiels) writes: >The best ideas for helping to support a PC as a gateway machine are >SMART ethernet cards and SMART serial cards. (Or us a 16550 UART which has >16 byte buffers for in/out bound data). You can write packet drivers >which will talk to a smart serial card which has a custom process written >to run on it which talks SLIP. Alternatively, you can make the software do the right thing. It's not that hard to get real-time response to device interrupts. Just because the high-level software doesn't want to be bothered by interrupts at the moment doesn't mean that low-level software can't be taking the interrupts and stashing away the incoming characters. This is a common tactic for dealing with high-speed input on dumb serial ports. Agreed that smartness is required, but it doesn't have to be in the hardware. -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker) (04/12/89)
No doubt, I missed all of the important messages, earlier. If so, please forgive, but.. The ONLY function that you need in the i/o cards of a cheap (and even many expensive) routers is to buffer data adequately, to avoid dropping back-to-back packets (for a fast LAN) and to avoid excessive (e.g., per-character) interrupt rates. In the PC world, especially, intelligent LAN cards have a habit of being slower than the PC, adding $500 to the cost, per network interface, and making routing quite difficult, since you end up with IP inside multiple interfaces. Putting the link-level code into the interface usually makes sense, especially with the number that now are in silicon; is that being called "intelligent"? Dave
dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker) (04/13/89)
Henry Spencer asserts that interrupts need not hurt performance, if software is written properly, primarily through the use of low-level modules to do the real-time servicing, deferring the rest of the processing for upper-level software. Well, five years ago, I would have agreed. I used to deal almost exclusively with application-layer protocols. Working in the lower layers has been sobering. Interrupts kill. The raw machine processing time -- i.e., hardware instruction cost -- for interrupts is quite significant. As with most features in this world, interrupts are excellent for their intended purpose and questionable for other situations. An interrupt is very useful when you don't expect much activity and don't want the overhead of polling. On the other hand, if you DO expect heavy activity, polling is quite nice. Some folks I used to work with did a calculation of the interupt overhead for 8 terminals running at 9600 baud, using an 80186 processor (I believe at 6MHz) and discovered that they would have time left over for VERY few instructions per character. With a polling approach, they were able to sustain a data rate of about 14Kbps per terminal. (My memory is fuzzy; it may have been around 17000 baud, but you get the idea.) This was with appropriate processing for an ethernet protocol stack and per-character terminal-oriented instpection and modification. Many, occasional sources of activity warrant interrupts. A few, active sources warrant polling. Dave
karn@ka9q.bellcore.com (Phil Karn) (04/14/89)
My experiences match those of Dave Crocker almost exactly. Per-character interrupts on the IBM PC are deadly. Minimizing the number of host level interrupts per byte transferred is the single most important optimization you can make in almost any PC communications program. The problem is that existing PC hardware has virtually no support for anything else. Background polling is usually out of the question, as most applications are complex enough to make it highly inconvenient to poll often enough to avoid missing input. DMA is virtually unusable, given the limited number of channels on the original PC plus a desire to be backward compatible with that machine. This leaves interrupt-driven I/O and busy-wait loops. I recently did a driver for the PC that handles a HDLC controller connected to a 56Kbps amateur packet radio modem. (Yes, we've made some progress since the InterOp 88 and Ann Arbor IETF demos. :-)) At 142 microseconds between characters, there was no way I could make it run in interrupt driven mode, nor could I tolerate an interrupt from another source while the interface was active. I therefore designed the driver to use only one interrupt: demodulator carrier detect. The presence of carrier causes the host to enter a polling loop on the receive status register with interrupts disabled. It stays there, receiving frames, until the carrier goes away. The transmit routine is simpler: it just busy waits on the transmitter with interrupts off, sending frames as long as it has frames to send. The scheme works, but is much less than satisfactory. Whenever the channel is active, all other activity on the system freezes. Keystrokes are not echoed. Even the $#@!! time-of-day clock freezes (why computer designers have this fetish for complex interrupt-driven software clocks instead of simple read-only hardware binary counters driven by oscillators, I'll never understand). The irony of this situation is that it wouldn't be so bad if the modem were faster; the PC would spend less time sending each packet. There is enough real time, even on a 4.77 MHz PC, to spin around the wait loop on the device a few times for each character that is actually sent or received. But the inter-character time is not long enough to go off and do any other useful work, so it goes to waste. It's sort of like making a cross-country airline trip with several hour-long connections. They're long enough to become a significant fraction of the total trip, but each one is too short to do anything but sit around each terminal, waiting. Just having lots of FIFO buffering on each I/O card would be an enormous help. It would be really nice to use the 80286 INS (block input) instruction to slurp several kilobytes out of a FIFO that had been loaded by the line controller without direct processor intervention. Considering the speed of this instruction, the total bus overhead would actually be less than DMA since you can avoid the bus arbitration that has to go on for each DMA transfer. Better yet is enough FIFO buffering plus hardware smarts to handle several packets without host intervention. Except for the newer Ethernet controllers the slave I/O CPU seems to be the only way to do this. But this is not to say that the link or higher protocols should be executed on the controller -- its job should be strictly limited to buffering for the purpose of alleviating the host processor's real-time constraints. Right now, my "slave I/O CPU" is a dedicated PC/XT with an Ethernet interface on one side and the packet radio interface on the other. It sits in the corner, gatewaying packets between the local Ethernet and the radio channel (the real Ether). Most people need a cheaper solution, so a friend (Mike Chepponis, K3MC) is designing a slave I/O processor for the PC that contains a V40 CPU, several hundred K of RAM and one or more 8530 HDLC chips. As an additional aside, polling is the standard technique used in electronic telephone switches. Imagine an interrupt-driven switch when all the phones come off-hook simultaneously... Phil
henry@utzoo.uucp (Henry Spencer) (04/15/89)
In article <8904140206.AA10084@ucbvax.Berkeley.EDU> dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker) writes: >Henry Spencer asserts that interrupts need not hurt performance, if software >is written properly, primarily through the use of low-level modules to do >the real-time servicing, deferring the rest of the processing for upper-level >software... Well, that's the scheme I outlined, but the conclusion is overstated. I didn't say that interrupts were free, I said that they could be made a good deal less expensive than people tend to think. Obviously there is always a point where the cost gets too high. -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
henry@utzoo.uucp (Henry Spencer) (04/15/89)
In article <15321@bellcore.bellcore.com> karn@ka9q.bellcore.com (Phil Karn) writes: >As an additional aside, polling is the standard technique used in electronic >telephone switches. Imagine an interrupt-driven switch when all the phones >come off-hook simultaneously... At least one terminal switch, built by otherwise very professional people, did in fact collapse when presented with a large number of simultaneous connection requests. I shouldn't give names, since this may well have been fixed by now -- it wasn't recent. Normally it's very uncommon for lots of people to hit BREAK simultaneously, but when you're talking about a military school with a whole class of cadets being marched into the terminal room, sitting down, and then hitting BREAK en masse, it can happen... -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
mah@hpuviea.UUCP (Michael Haberler) (04/15/89)
From article <8904140206.AA10084@ucbvax.Berkeley.EDU>, by dcrocker@AHWAHNEE.STANFORD.EDU (Dave Crocker): > > Many, occasional sources of activity warrant interrupts. > A few, active sources warrant polling. > This is, by the way, what the hp-ux tty driver on the 300 series does: if traffic is low, it works on a interrupt-per-character basis; if traffic exceeds some high-water mark, it switches to polled operation. -michael -- Michael Haberler mah@hpuviea.uucp Hewlett-Packard Austria GmbH, ...mcvax!tuvie!hpuviea!mah Lieblgasse 1 ...hplabs!hpbbn!hpuviea!mah A-1220 Vienna, Austria Tel: (0043) (222) 2500 x412 (9-18 CET)
mshiels@tmsoft.uucp (Michael A. Shiels) (04/15/89)
Low level buffering is great but it is still a performance pig. If you can get one interrupt per packet then you can support more interfaces in one machine. I was thinking of a couple of SLIP lines a ethernet, token ring and makybe an arcnet. This thing becomes interrupt intensive unless you can get rid of some of the serial interrupts. It's really bad if your running 9600/19200.
henry@utzoo.uucp (Henry Spencer) (04/20/89)
In article <15321@bellcore.bellcore.com> karn@ka9q.bellcore.com (Phil Karn) writes: >As an additional aside, polling is the standard technique used in electronic >telephone switches. Imagine an interrupt-driven switch when all the phones >come off-hook simultaneously... Little birds tell me, actually, that it is not unheard-of for some electronic phone switches to misbehave badly in this situation... -- Welcome to Mars! Your | Henry Spencer at U of Toronto Zoology passport and visa, comrade? | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
karn@jupiter (Phil R. Karn) (04/25/89)
>>As an additional aside, polling is the standard technique used in electronic >>telephone switches. Imagine an interrupt-driven switch when all the phones >>come off-hook simultaneously... > >Little birds tell me, actually, that it is not unheard-of for some electronic >phone switches to misbehave badly in this situation... Yes, things do slow down -- BUT -- if you wait long enough you will eventually get a dial tone. An excellent test of this occurred back in 1980 during the Carter/Reagan debates, when 900 DIAL-IT service was being trialed on a nationwide basis for the first time. AT&T had carefully designed the service to avoid tying up long distance trunk capacity (by limiting the number of 900 calls to a small fraction of each trunk group) but they had not anticipated the extraordinary level of interest that had half the homes in the US lifting their receivers simultaneously. I measured dial tone delays of 2-3 minutes on my local ESS in Illinois. When polled systems get overloaded they do inded slow down, but they do not collapse. Phil
henry@utzoo.uucp (Henry Spencer) (04/27/89)
In article <15577@bellcore.bellcore.com> karn@jupiter.bellcore.com (Phil R. Karn) writes: >>>As an additional aside, polling is the standard technique used in electronic >>>telephone switches. Imagine an interrupt-driven switch when all the phones >>>come off-hook simultaneously... >> >>Little birds tell me, actually, that it is not unheard-of for some electronic >>phone switches to misbehave badly in this situation... > >Yes, things do slow down -- BUT -- if you wait long enough you will >eventually get a dial tone... Context implied that the little birds' phrase "misbehave badly" did not mean just "respond slowly". The implication was that not all phone switches are always polled, or at least the polling isn't always done right. Just because it's the standard technique doesn't mean everybody is standard... -- Mars in 1980s: USSR, 2 tries, | Henry Spencer at U of Toronto Zoology 2 failures; USA, 0 tries. | uunet!attcan!utzoo!henry henry@zoo.toronto.edu
morrison@accuvax.nwu.edu (Vance Morrison ) (07/04/89)
Call for Beta Testers from PCroute 2.0 Hello All, I have written debugged, and alpha-tested the next version of the PCrouter software. For those of you who don't know what PCroute is, it is a piece of software can turn an old XT or AT into an IP router. The best part of all of this is due to the low cost of and XT clone and ethernet cards, you can make an IP router for under $800. Not bad since A Cisco router doing the same thing cost $8000. (granted, Cisco is a higher performance machine, but I think you will be pleasantly supprised by the throughput of this software, we do a fair amount of NFS and FTP and really don't notice the difference). I have been testing this code for about 3 weeks now in 9 PCrouters here at Northwestern and they seem to be operating properly. But before I schedule an 'official' release (3 - 4 Weeks), I would like to get some other people trying PCroute in situation we simply don't have here at Northwestern. The software itself as well as the source code can be found on accuvax.nwu.edu (129.105.49.1) in pub/pcroute. The source code is compressed, and both the source and the software has been 'tarred'. Please don't go modifying the code until the official release comes out in several weeks, then you can make LOCAL modifications to your hearts content. I Reserve the right to be the SOLE person to make modifications to PCroute that span organizational boundaries. My motive is simple, I want there to be only a single varient of PCroute. If you have a good idea you want incorporated let me know and I will probably put it in. People that aren't on the internet, be patient, in a couple of weeks I will ask UUNET and other UUCP archives to keep a copy, then you can get it yourself. Here are some of the highlights of Version 2.0 (beta) PCroute Version 2.0 PCroute, the software that can convert a PC into a IP router for about $500, is now in its second major Version. As with version 1 PCroute supports 1) Western Digital WD8003 Ethernet and Starlan boards. 2) Static IP routing (up to 250 routes). 3) IP subneting 4) ICMP Ping But in addition Version 2.0 also supports 1) Up to 6 networks interfaces 2) Localtalk interfaces (MacTCP compatable) 3) SLIP (coming soon) 4) ICMP TTL, Redirect, Unreachable 5) Fragmentation where necessary 6) RIP dynamic routing protocol 7) Error loging using BSD syslog 8) PROXY ARP (if desired) 9) Bootp forwarding Vance morrison@accuvax.nwu.edu