From: mikec@cardinals.ctron.com (Mike Catalanotti)
Newsgroups: comp.os.os2.programmer
Subject: Re: VDM Sharing same OS/2 2.0 NDIS stack
Keywords: OS/2 2.0 NDIS Protocol Stack
Date: 7 Apr 92 20:53:48 GMT
Reply-To: mikec@mikec1.ctron.com (Mike Catalanotti)
Organization: Cabletron Systems, Inc.
Originator: mikec@cardinals

Original posting by Mike Catalanotti (mikec@ctron.com) 4/4/92:
Followup to posting by Colin Goldstein (colin@novell.com) 4/4/92:


>>Reading through the various OS/2 groups, this topic of sharing
>>the same network stack as OS/2 (ODI, NDIS, etc) from a Virtual
>>DOS Machine is another HOT subject.  There should be some type
>>of libraries supplied that will allow such access.
>
>This is certainly possible, and is supplied with the Netware
>requester for OS/2 2.0. VIPX is a VDD which supports the use
>of IPX in a VDM (or multiple VDM's). The important thing to
>note here, is the DOS IPX stack is not present. This means
>that VDM IPX requests are sent to the OS/2 stack to be put
>on the wire.

That's good!  I'm glad to see that someone is doing something
in the correct fashion.  It's too bad that my stack is NDIS and
not ODI.  I mentioned ODI before only for the sake of others who
might be in the same boat I am.

>>I am in need of the same type of tools - ones which will allow
>>my VDM to use the same NDIS stack as my TCP/IP for OS/2 does.
>
>Do you need to share the card or the stack. I think what you
>really want is a VDD to give your DOS apps access to the OS/2
>TCP/IP stack.

What I actually need to do is share the same CARD.  If I get access
to IBM's TCP/IP stack, it would have to be made at a very low level
(somewhere near OSI Layer 2 - Data Link), therefore the objective
here is to allow access to even the lowest layers of the stack.
The way I stated that sentence above was more of a "generic" approach
to the tools problem.

>>I would HATE to have to write a whole bunch of code to make this
>>work when someday IBM releases it's support, only to find myself
>>re-writing everything to make it compatible with IBM's methods.
>
>This is not a generic OS type "thing" to do. You'll have to contact
>the supplier of your TCP/IP stack and ask them for such a driver.
>You should also note that this is not a trivial task and does/would
>require about 20,000 lines of asm code and a very good working
>knowelge of the stack. It would be almost impossible to do without
>having access to the TCP/IP source code.

This *is* generic at the level I'm really speaking of (as mentioned
above).  Allow access from the VDM into Layer 2 of the OSI model 
(within the NDIS, ODI, etc) stack.  This type of access would force
the particular DOS app to maintain it's own stack.  Basically, the
VDM "driver" at this point would reside at the same exact level as
the ODI or NDIS driver - performing concurrent access to the same
piece of hardware (the network card).  This application would only
remain GENERIC iff it speaks the same "raw" language of the other
drivers ( raw NDIS/ODI ), but then the question is "...in what
manner do you do IOCtl calls to the NDIS/ODI driver under OS/2?"
I would assume that you can use the DOS IOCtl interrupt to do so. 
Then there's the sticky mess of callback functions, interrupts, 
etc. etc.

As mentioned briefly earlier, the particular vendor in question here
is IBM - with IBM's "TCP/IP for OS/2 Version 1.2".  I agree on how 
much work it could/would be to develop all the code for such a beast.

>>If anyone has any insight into this subject, PLEASE post or reply
>>to this - share you interests and helpful hints!!
>
>I guess this isn't much help. I suggest the best (and maybe only)
>way to get this done is to contact the supplier of your TCP/IP
>stack and ask them if such a driver is in the works.
>
>Colin

I think that this was very helpful, and, by the way, THANKS!


   Mike Catalanotti
   mikec@mikec!.ctron.com

#include <std_disclaimer.h>