Newsgroups: comp.protocols.tcp-ip.ibmpc Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!clarkson!grape.ecs.clarkson.edu!nelson From: nelson@sun.soe.clarkson.edu (Russ Nelson) Subject: Re: But how do packet drivers actually work? Reply-To: nelson@clutx.clarkson.edu (aka NELSON@CLUTX.BITNET) Organization: Clarkson University, Potsdam NY Date: 8 Apr 91 20:50:13 Message-ID: In-Reply-To: kinley@crim.ca's message of 8 Apr 91 18:19:20 GMT References: <9104081436.AA24304@telesys.ncsc.navy.mil> <1991Apr8.181920.15868@IRO.UMontreal.CA> Sender: usenet@grape.ecs.clarkson.edu In article <1991Apr8.181920.15868@IRO.UMontreal.CA> kinley@crim.ca (J. Darren Kinley) writes: (I would greatly appreciate if some kind soul could offer a brief description of how applications send IP packets using packet drivers and how received packets are handed back to the proper application.) It works *mostly* like this: Applications make up the packet, and pass its address to the packet driver along with the "send packet" function call. Received packets are handed back via an upcall. The application registers the packet types it wishes to receive (e.g. IP, ARP, IPX, etc.), along with an upcall handler. When the packet is received, the upcall handler is called with the address of the packet. machine with 3c501 card; The driver tells me that I need 3 parameters; > packet_int_no int_no io_addr The int_no and io_addr are obvious, but where did packet_int_no come in and what exactly is it used for? That's the software interrupt that applications generate to access the packet driver. It should be between 60 hex and 80 hex, according to the 1.09 spec. What do I tell the NCSA application? Must I simply tell it to use that packet driver interface with 'hardware=packet'? Yes. It will search through the interrupts for the signature of the packet driver. -- --russ 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.