stu@mav.com (Stu Donaldson) (04/06/91)
We recently purchased a copy of BW-NFS for evaluation. I am having problems getting this to work with other programs that want to talk to the network board. I am useing a WD8003E card, and have also tried the 8.7 version packet driver. The other software I am trying to run, is NCSA_Telnet, and it's related programs. I also plan on running some Email software in the future. Does anyone know how this can be done short of porting the other applications to use the socket library available from Beame and Whiteside? Any help would be appreciated. Please respond via email -- Thanks -- ----------------------------------------------------------------------- Stu Donaldson "Can't you understand what I'm saying?" stu@mav.com "What happened? Did you Fail Telepathy?"
fks@FTP.COM (Frances Selkirk) (04/08/91)
Stu Donaldson <fluke!gtisqr!stu@beaver.cs.washington.edu> > We recently purchased a copy of BW-NFS for evaluation. I am having > problems getting this to work with other programs that want to talk > to the network board. I am useing a WD8003E card, and have also > tried the 8.7 version packet driver. The other software I am trying > to run, is NCSA_Telnet, and it's related programs. I also plan on > running some Email software in the future. > > Does anyone know how this can be done short of porting the > other applications to use the socket library available from Beame > and Whiteside? Hello, everybody. This is your monthly post, saying: ("YOU CAN ONLY RUN ONE TCP/IP STACK AT A TIME OVER A PACKET DRIVER.") Packet drivers sort packets by protocol type. They do not duplicate packets for delivery to two stacks of the same type. The first stack will get the packets; the second stack will starve. If you wish to run other TCP/IP apps simultaneously with BW-NFS (or any other TCP/IP package), port them to the programmers' interface. Better yet, if possible, find a single package that satisfies your needs for telnet, email and NFS. (Apologies to Arlo Guthrie for the format of the second sentence.) Frances Kirk Selkirk info@ftp.com (617) 246-0900 FTP Software, Inc. 26 Princess Street, Wakefield, MA 01880
stu@mav.com (Stu Donaldson) (04/11/91)
In article <9104081632.AA04236@ftp.com> fks@FTP.COM (Frances Selkirk) writes: > >Hello, everybody. This is your monthly post, saying: > > >("YOU CAN ONLY RUN ONE TCP/IP STACK AT A TIME OVER A PACKET DRIVER.") > > >Packet drivers sort packets by protocol type. They do not duplicate >packets for delivery to two stacks of the same type. The first stack >will get the packets; the second stack will starve. > >If you wish to run other TCP/IP apps simultaneously with BW-NFS (or any >other TCP/IP package), port them to the programmers' interface. Better >yet, if possible, find a single package that satisfies your needs for >telnet, email and NFS. Is there a way to temporarily unload or put on hold, the main application? Essentially block that application from the packet driver, and start up some other application such as an email package, then enable the main application again? Possibly an alternate packet driver interrupt vector that when in use, would cause the primary vector to be on hold? -- Stu -- ----------------------------------------------------------------------- Stu Donaldson "Can't you understand what I'm saying?" stu@mav.com "What happened? Did you Fail Telepathy?"
gordon@FTP.COM (Gordon Lee) (04/12/91)
From: Stu Donaldson <fluke!gtisqr!stu@beaver.cs.washington.edu> Subject: Re: BW-NFS, working with Packet Drivers and other software. Is there a way to temporarily unload or put on hold, the main application? Essentially block that application from the packet driver, and start up some other application such as an email package, then enable the main application again? Possibly an alternate packet driver interrupt vector that when in use, would cause the primary vector to be on hold? The packet driver as spec'd has no *active* control over which application gets traffic of a given protocol type. It only responds to the requests of the applications above it. Once a particular application hooks a particular protocol type, the packet driver is not able to tell it to let go. The Packet Driver Spec has two calls "access_type" and "release_type" which allow the application to hook or unhook a particular protocol type. The closest you could get would be to have the applications temporarily relinquish control over the protocol in question through a release_type call and then reissue an access_type call later on. As a case in point, the only way to make the PC/TCP kernel relinquish control is to unload it. It issues an "access_type" on startup and a "release_type" on shutdown. I don't know off hand what other existing applications do. == Gordon Lee FTP Software Inc == voice: (617) 246-0900 26 Princess St == fax: (617) 245-7943 Wakefield, MA 01880
erick@sunee.waterloo.edu (Erick Engelke) (04/12/91)
In article <1991Apr11.141125.27490@mav.com> stu@mav.com (Stu Donaldson) writes: > >Is there a way to temporarily unload or put on hold, the main application? >Essentially block that application from the packet driver, and start >up some other application such as an email package, then enable the >main application again? Possibly an alternate packet driver interrupt >vector that when in use, would cause the primary vector to be on hold? > There are a number of ways to attack this and a number of arguments to use. Please send comments to me rather than the group because I am just glossing over some of the impracticalities. Assuming the new packet driver processes the packet and does not pass it on to the old one, the answer is... No. Many systems still use keep alives or would have some other sort of activity which would kill sessions you might have going already. You would have to close ALL TCP sessions first which is different from putting them on hold which was your original request. You might think, "well, why not pass the packet on to the other packet driver or sessions? Wouldn't that keep existing sessions alive?". First of all, you could probably not have multiple active packet drivers because they each controlthe hardware. But let's assume your single packet driver passed the packet to each TCP. That idea would possibly work except that each other TCP system would send a RESET or an ICMP death threat because they each think they have sole control of the IP address and the incomming packet was unacceptable. They are required by RFC law to complain. You would also be having them receiving things they never requested and potential port conflicts and more problems than you could immagine. Finally, you might think yourself capable of looking at the last paragraph and saying, "hey, I could just filter out those resets and ICMP's and intelligently control several TCPs." I don't want to think of the consequences. It would be too flaky a system to use. If you were to use a second IP number for the new TCP, you could actually do the sorting at the packet driver level. I have had to do this and so I can say that it can work except for RARP. Quite simply, for incomming IP packets you determine the IP interface from the destination IP field. For broadcasts, you submit the packet to each kernal. Please note, I said it CAN work, not that it will. As soon as possible, I removed this kludge because it was doomed to fail at some point. As several people have stated many times, the packet driver interface is not the appropriate mechanism for supporting multiple TCPs. In fact, multiple TCP kernals are also not very good. What we really need is a single API (that means Application Programmers Interface, the glue between a TCP stack and an application program which is currently different for each commerical stack) which will allow vendor-independant software to execute on any TCP stack. I have asked this group for comments on such an API and have received some good responses. Some individuals in one of the most influential TCP firms have offerred some comments and suggestions. Please realize I am not saying you could necessarily run, say, Wollongong's NFS over Beame and Whiteside's stack, but it would mean a vendor or author could make a program or a version of a program which could operate on any PC TCP stack. Erick -- ---------------------------------------------------------------------------- Erick Engelke Watstar Computer Network Watstar Network Guy University of Waterloo Erick@Development.Watstar.UWaterloo.ca (519) 885-1211 Ext. 2965
jbvb@FTP.COM ("James B. Van Bokkelen") (04/12/91)
Is there a way to temporarily unload or put on hold, the main application? There is presently no such "hold" call in the Packet Driver spec. The PC/TCP TSR module can be unloaded from the keyboard, allowing other IP-using packet driver applications to run, but I don't think our competitors support this. James B. VanBokkelen 26 Princess St., Wakefield, MA 01880 FTP Software Inc. voice: (617) 246-0900 fax: (617) 246-0901
nelson@sun.soe.clarkson.edu (Russ Nelson) (04/12/91)
In article <1991Apr11.141125.27490@mav.com> stu@mav.com (Stu Donaldson) writes:
Is there a way to temporarily unload or put on hold, the main application?
Essentially block that application from the packet driver, and start
up some other application such as an email package, then enable the
main application again? Possibly an alternate packet driver interrupt
vector that when in use, would cause the primary vector to be on hold?
Sure. Just hack at the packet driver skeleton so that it doesn't check
to see if a type is already in use, and force the type search to be
most-recent-first.
But that's still not going to solve *all* your problems. What happens
if TCP2 tries to communicate with a host that TCP1 was communicating with?
Most likely, the TCP1 connections will get shut down. Yes, the user can
avoid doing that, but I certainly wouldn't want to explain that restriction
to all of my users.
If you make this change, remember that the copyright on the Clarkson collection
of packet drivers requires that you prominently state that changes have
been made. No way do I want to get any questions on *this* puppy...
--
--russ <nelson@clutx.clarkson.edu> I'm proud to be a humble Quaker.
It's better to get mugged than to live a life of fear -- Freeman Dyson
I joined the League for Programming Freedom, and I hope you'll join too.