Re: NetBIOS Routing

From: Stephan Wolf (stewo68_at_hotmail.com)
Date: 11/24/04


Date: 24 Nov 2004 05:39:20 -0800

An IM calls NdisIMInitializeDeviceInstanceEx() to explicitly start one
of its virtual adapter instances. That is, MiniportInitialize() will
be called for the respective virtual adapter *if* the user has not
manually disabled this adapter.

I guess what you need is *one* virtual adapter, which is *always*
"alive". Then, when things change underneath your IM, that is, a USB
device gets plugged in our out, you simply talk to whichever miniport
of the present USB devices you prefer.

It would seem you need two drivers: One NDISWDM miniport driver, which
talks to the actual USB devices. And one MUX IM driver, which talks to
the physical adapters represented by the NDISWDM driver at its lower
edge. This IM driver also represents only one virtual adapter at its
upper edge.

         virtual
         adapter
     +-------------+
     | IM miniport |
     | - - - - - - |
     | IM protocol |
     +-------------+
        / \ physical adapters
 +-----------------------+
 | NDISWDM miniport |
 +-----------------------+
       | |
 +-----------+-----------+
 | WDM driver |
 | USB dev 1 | USB dev 2 |
 +-----------+-----------+

The 'NetEventReconfigure' you mention should be used to call
NdisReEnumerateProtocolBindings(), see also

 http://groups.google.com/groups?selm=3e7083db.16353414@news.t-online.de

Stephan

---
sl@whiskey.enposte.net (Stuart Lynne) wrote in message news:<elNT4Gb0EHA.824@TK2MSFTNGP11.phx.gbl>...
> In article <6e8a2a95.0411230715.2d59239e@posting.google.com>,
> Stephan Wolf <stewo68@hotmail.com> wrote:
> >
> >sl@whiskey.enposte.net (Stuart Lynne) wrote in message news:<OV#h#OO0EHA.1524@TK2MSFTNGP09.phx.gbl>...
> >> In this type of setup is the (for example) mux miniport not used. Or
> >> does the complete mux driver still get installed as both a service and
> >> miniport.
> >
> >What do you mean by the mux miniport is not used?
> >
> >In general, I guess I do not clearly understand your concern.
> >
> >> Can I assume that I need to derive the adapter handle from the
> >> ProtocolBindingContext and that there should be enough information
> >> available to get things initialized from there?
> >
> >Which "things" are you talking about?
> >
> >What are you trying to achieve? If you want to do load balancing or
> >failover then what you need is a MUX intermediate driver that presents
> >one virtual adapter at its upper (miniport) edge and can talk to two
> >(or more) physical adapters at its lower (protocol) edge.
> 
> Yes, that is exactly what I am trying to achieve, where each of the
> physical adapters are USB devices.
> 
> In an NDIS-WDM driver, the InitializeHandler (e.g. MPInitialize() in
> mux) gets called for each USB device that is plugged in.
> 
> In this case when using the mux type protocol driver, is the
> PtPNPHandler() function, when called for a NetEventReconfigure NetEvent,
> the correct place to start coding so that eventually the
> InitializeHandler in the miniport part of the driver gets called?
> 
> Presumably by using NdisIMInitializeDeviceInstanceEx() and related
> calls. 
> 
> Thanks again.


Relevant Pages

  • Re: Loading Unloading NDIS Intermediate Dirver
    ... Each miniport adapter must have a unique name. ... driver inserts itself between an underlying adapter and a protocol driver, ...
    (microsoft.public.windowsce.platbuilder)
  • Re: WDF storage driver is a dead-end street
    ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... AHCI controller card, etc. ... Since the extension is passed in the miniport at ... So I need to create a virtual adapter out of two physical adapters. ...
    (microsoft.public.development.device.drivers)
  • SMSC9118 NDIS ethernet driver, to connect LAN9115 directly to a PXA270 (no glue logic like cpld)
    ... I am trying to integrate in windows ce5.0 smsc driver for 911x family. ... adapter, then the pointer turns into a hour glass forever. ... ndisMInitializeAdapter: Miniport 0003B9C0, ... Miniport 0003B9C0, MiniBlock 0003B620, rc ...
    (microsoft.public.windowsce.embedded)
  • Re: virtual NIC question
    ... A virtual network adapter driver, i.e. an NDIS miniport driver, that ... needs to talk to a physical NIC (or any other underlying adapter) ... NDIS intermediate drivers implement both a miniport and a protocol ... can talk to any number of physical NICs. ...
    (microsoft.public.development.device.drivers)
  • Re: NetBIOS Routing
    ... >> In this type of setup is the mux miniport not used. ... >failover then what you need is a MUX intermediate driver that presents ... >physical adapters at its lower edge. ...
    (microsoft.public.development.device.drivers)

Loading