Date: Wed, 28 Apr 93 04:30:02 PDT From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu> Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V93 #111 To: tcp-group-digest TCP-Group Digest Wed, 28 Apr 93 Volume 93 : Issue 111 Today's Topics: LA/Chicago wormhole info needed. NE2000 & Desqview Reply abt DV and NOS Thoughts about alloc, bugs and RSPF. Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>. Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Tue, 27 Apr 93 21:26:16 UTC From: wb9mjn@wsu.n8fow.ampr.org Subject: LA/Chicago wormhole info needed. To: tcp-group@ucsd.edu Hi, I helped set up the LA / Chicago wormhole, building the Chicago side RF link. At present, the RF link is a 1.2 gig 9600 baud radio channel, using No-Tune transverters, and DVR2-2s. Altho we started with back to back NETROM TNC 2 nodes, the configuration has changed. At present the WORM node (wb6wey-7) is running G8BPQ code, and has ports on the LA 6 meter backbone (4800 / K9NG), 2 meter Simi Valley Lan Channel, and a port for each of the three wormhole links (Chicago (Naperville, IL), St Louis, and New Jersey (Secaucus)). Recently, the port to Naperville , IL was converted to a KISS link, over the commercial wire. The TNC2 NETROM at Naperville could not deal with the additional node load of the new NJ links. It would operate very slugisly, and stop working for many minutes at a time. So, we converted the TNC2 to a KISS TNC, and WB6WEY had its ports upgraded to use 16550 SIO chips. The Simi Valley, CA LAN port, and 6 meter / 4800 baud port were switched to KISS at WORM:WB6WEY-7, shortly after the improvement gained by switching to KISS was apparent. This change gives a few more years of service to our TNC2 based hardware in the Naperville office of the wormhole sponsor. We converted the TNC2 to 19.2 Kb on the Rs232 port, which goes thru the local statistical multiplexer, a 56 KB data wire, and the sponsors headquarters site statistical multiplexer, to get to the WORM node. Thru this arrangement, WORM can send packets right to the ILNAP:K9VXW-1 PacketTEN node, over 1.2 Ghz, at 9600 baud in Naperville, here. We are using 1.2 Ghz because of the noisey office enviorment, and because 440 is used at K9VXW-1 site already. Using 440 would create a hidden station situation, and retard thruput. I beleive this is how the St Louis link is done , however, on 440/9600 with Kantronics D4-10s. The hidden station problem has been noted howerver, and they live with it. An added advantage to the KISS changeover, is that someday with either newer G8BPQ or NOS software on the WORM site, we will be able to send IP packets right from K9VXW-1 to WB6WEY-7, without the need to gateway thru NETROM. 73, Don. wb9mjn@wb9mjn.ampr.org wb9mjn%wb9mjn.ampr.org@wb9uus.bradley.edu WB9MJN@N9HSI.IL.USA.NA ------------------------------ Date: 25 Apr 1993 20:15:28 +0000 (GMT) From: pa3cpl@pa3cpl.ampr.org Subject: NE2000 & Desqview To: tcp-group%pa2aga@pi8nos.UCSD.EDU I have a problem working with desqview and TCP/IP. The setup is as follows: 486DX-50, 4Mb. NE2000 Lan-card. Loadhi: LSL, NE2000 -w (from the clarkson drivers.zip) and IPXDPI (an ethernet driver) start desqview. Open tcp/ip window (NET from pe1chl), attach packet on same INT as NE2000. Runs OK with ping to sys2.pa3cpl, abt. 98% ping reply. As soon as I open another DV-window, ping-reply rates drops dramatically to abt. 15-20% !!! I have to start the NE2000 driver with the -w option, otherwise the systems hangs within seconds. But now the driver drops all the packets! However, if I use a ordinary novell-lite client-server action (in a third window) transfer-rate is still very high. So why does the NE2000 driver drops all the packets??????? pse answers to pa3cpl@df0od.et-inf.fho-emden.de or in tcp-digest 73, aart pa3cpl -------------------------------------------------------- | Aart Wedemeijer Groningen PA3CPL [44.137.12.13] | | AX25: @PI8AWT SMTP: PI8ESK/PI8NOS/PI8GRO/PI8YRC | | PACSAT: AO16 | -------------------------------------------------------- PLEASE reply to the list, NOT to the From: address because this mail is sent through a one-way gateway! ------------------------------ Date: Tue, 27 Apr 1993 22:49:29 -0400 (EDT) From: MIKEBW@ids.net (Mike Bilow, <MIKEBW@ids.net>) Subject: Reply abt DV and NOS To: tcp-group@ucsd.edu This is for PA3CPL. Your problem is not specifically related to NOS, but to what happens when you load a driver into UMB and then start DESQview. Your system is doing a lot of time consuming work to create the illusion that UMB memory exists in the first addressable megabyte. Under raw DOS, this is not a problem, but it is under DESQview. There will always be some performance penalty. DESQview does offer the opportunity to minimize this with the "Optimize Communications" setting in DVSETUP, and an important undocumented feature of this field is that you can manually insert the number of an IRQ to optimize instead of the ordinary "Y" or "N" option. For example, if your Ethernet card sits on IRQ5, you can insert a "5" into the "Optimize Communications" field, and this will let DV operate somewhat better. You should also test without loading IPXDPI. When multiple protocol layers are installed on a packet driver, this can result in performance problems, depending upon how the drivers are written. You also don't give enough ifmoration to look at your problem in detail. For example, are you using QEMM? If so, are you using the "ROM" parameter? Where is the Ethernet card mapped in address space? What sort of video system do you have? -- Mike Bilow, <mikebw@ids.net> (Internet) N1BEE @ WA1PHY.#EMA.MA.USA.NA (AX.25) ------------------------------ Date: Tue, 27 Apr 1993 22:04:04 -0400 (EDT) From: MIKEBW@ids.net (Mike Bilow, <MIKEBW@ids.net>) Subject: Thoughts about alloc, bugs and RSPF. To: d8lars@dtek.chalmers.se, tcp-group@ucsd.edu What a depressing message! I didn't even know that there were that many bugs left in NOS. :-) Let me respond to the RSPF issues first. The RSPF code I have been running for some time does not crash. There was a lot of cleaning up of memory allocation and pointer errors in RSPF by a number of people, especially by me and by Walt Corey (kz1f@legent.com). As far as I am aware, the bug that you caught does not actually trip off, although it ought to be fixed. The central problem of RSPF, about which there was an extensive series of messages some months ago involving me, Fred Goldtein (goldstein@ carafe.tay2.enet.dec.com), and Anders Klemets (klemets@scis.se), is that NOS provides no opportunity to test a route without using it. It is not desirable that routes which are in the process of being tested by RSPF be used for anything else. NOS provides no method by which to do this, except to swap a test route onto the IP routing table, send the test ping, wait for the test ping to be sent while somehow stopping other frames from using that route, and then swapping the original route back onto the table. Then the RSPF code will be responsible for keeping track of which test route was responsible for the successful ping, and so on. When RSPF learns of multiple routes to the same host and must choose between them, this can become inordinately complicated. To make matters worse, it seems important that RSPF should be able to route across any type of interface which can carry IP frames, which precludes binding RSPF too heavily to non-IP protocols such as ARP (which does not exist on all such interfaces). The issue about one way routes is related to this larger problem, but is somewhat easier to solve. I suggested and Anders agreed that an easy way out would be to keep a record of successful responses to ping attempts with one-way routes, and to never add a route to the IP routing table unless it was at least working at one time. This allows distinguishing between a route that was good and has now gone bad due to propgation or similar cause as opposed to a route that is bad and has always been bad. The current implementation sticks one-way routes onto the table and keeps rolling them through the suspect->bad->suspect->bad cycle. At least this would be stopped, since the routes would be tested upon being newly acquired and would then be disposed of immediately if they had never been good. Note that this is out of compliance with the specification, but I don't think there is any harm in it. The issue of multiport routing, which you say you fixed, is dependent upon solving the first problem of virtualizing the routing table for test routes. Anders originally put in a rather vicious kludge, which was to flag as "manual" any route acquired by RSPF which appears on a different interface than would be consistent with the current routing table when the RSPF route is acquired. This leads to extremely bad consequences, to the point that RSPF becomes non-functional (actually disabling itself, really) when used on a multiport router. The problem is that simply removing Anders' kludge fixes this problem and creates others. In particular, RSPF will tend to thrash the routing table back and forth as updates are recived, allowing test routes which will prove to be no good to be substituted for real routes that are actually working. It is relatively easy to path this up so that RSPF will work for multiport routers where no false information is received, or where the routing topology is static. However, there isn't any point to RSPF at all when these conditions obtain. Netrom is a good example of a routing scheme that is subject to similar limitations in practice, and we all know from experience what happens when you try to connect to a node several hops away in a moderately densely populated netrom network. A real fix to the multiport routing problem requires solving the test route problem. On a different subject, I think it is the intention to concatenate the last free block in heap with any newly acquired memory from core when morecore() is executed. This is a common condition, and trying to save the time of another search through heap at the expense of this efficiency will likely result in excessive demand for memory from core. NOS very rarely requests large blocks of memory, generally 1K or less, usually far less. This may be why "mem free" usually shows a lot of 16-byte blocks hanging free in low heap. I may not have understood you on this issue, as I read through your message rather quickly. You are right about the semantics to realloc(), but K&R also says (and ANSI explcitly requires) that calling realloc() for an amount of memory smaller than the existing allocation must always succeed. The kludge method in NOS for doing a realloc() cannot guarantee this, so there is always going to be some degree of incompatibility until someone chooses to attempt the nightmare exercise of coding a real realloc(). Calling realloc(), by the way, is done by some of the library functions, depending upon the compiler and version. For example, the stat() function in Borland C++ 3.1 calls realloc(), while the one in Borland C++ does not. This led to crashes in a lot of places, especially the POP servers, until fixed. When I have to chance to read through your message more carefully, I'll see if I need to retract anything. :-) -- Mike Bilow, <mikebw@ids.net> (Internet) N1BEE @ WA1PHY.#EMA.MA.USA.NA (AX.25) ------------------------------ End of TCP-Group Digest V93 #111 ****************************** ******************************