<> wrote in message
news: oups.com...
> Thomas,
>
>> You can do whatever you want in a "modifying" LWF...
>
> I haven't yet tried LWFs, so that everything I know on the subject in
> so far is based solely upon MSDN documentation. Judging from MSDN
> description, LWFs seem to be, from the programmer's perspective, much
> more logical and simple than "converntional" NDIS IM filters (i.e.
> deprecated ones) that never had a reputation of being trouble-free.
>
> Do you know of any LWF-related "issues" that may be not so obvios to
> someone who just read MSDN description, without actually experimenting
> with them?
>
[PCAUSA] In US I would say: "They are the same - only different."
The PCAGizmo tool is a NDIS OID "sniffer". See the URL:
http://www.pcausa.com/Utilities/PCAGizmo/PCAGizmo.htm
I wrote the NDIS 5 IM filter and the NDIS 6 LWF monitoring driver in
parallel to exploit the common logical flow between the two versions. As a
result, both drivers have (mostly):
1.) Common module file names.
2.) Similar intra-module source code layout. Handlers for upper-edge at top
of the module ("miniport edge") and for lower-edge at the bottom of the
module ("protocol edge").
3.) Similar function and structure names - although passed parameters are
naturally different.
4.) A (somewhat) common support library that is shared between the two.
Not so much commonality that one could use common code and pre-processor
switches to make NDIS 5 or NDIS 6 - but a helpful exercise for an old man
like me.
There are, of course, exceptions for some functions that are exclusive to
one or the other.
PCAGizmo uses a common installer and a common user-mode application for NDIS
5 or NDIS 6.
So, to me they are, in the final analysis, "the same - only different".
Of course, "The devil is in the details."
Hope this is helpful.
Thomas
> Anton Bassov
>
> Thomas F. Divine [MVP] wrote:
>> "imanandr" <> wrote in message
>> news:354B6C81-DC6B-46A7-A5D8-...
>> > Sorry my last post did not get through. So I'm posting again.
>> >
>> > Thanks for the response Thomas. Is the MUX NDIS 6.0 driver an
>> > Intermediate
>> > driver? If so, isn't it supposed to be deprecated? If not, how is it
>> > different from NDIS 5.x MUX and are there any limitations in MUX 6
>> > (compared
>> > to MUX 5.x)?
>> >
>> For 1:1 NDIS Filter:
>> NDIS 5 - Use NDIS 5 IM Filter Driver (Deprecated on Vista)
>> NDIS 6 - Use NDIS 6 Lighweight Filter Driver
>>
>> For 1:N or N:1 Filter:
>> NDIS 5 - Use NDIS 5 MUX IM Driver
>> NDIS 6 - Use NDIS 6 MUX IM Driver
>>
>> Actually, I would call _all_ of these "NDIS Intermediate" drivers myself.
>>
>> > Is it possible to receive packets from one interface and send them on
>> > another in the NDIS 6 LWF (with appropriate modifications)? Doe NDIS 6
>> > impose any limitations for doing this?
>>
>> You can do whatever you want in a "modifying" LWF...
>>
>> Thomas F. Divine
>> http://www.pcausa.com
>>
>>
>> >
>> > Thanks,
>> > Anand
>> >
>> >
>> > "imanandr" wrote:
>> >
>> >>
>> >>
>> >> "Thomas F. Divine [MVP]" wrote:
>> >>
>> >> > "imanandr" <> wrote in message
>> >> > news:5CF40F8C-D88F-4778-8F72-...
>> >> > > Hi -
>> >> > > It appears that NDIS Intermediate drivers are deprecated in 6.0
>> >> > > and the
>> >> > > recommended way to implement similar functionality is to use a
>> >> > > "Filter
>> >> > > driver" (as per Driver Compatibility for Windows Vista document).
>> >> > > I
>> >> > > would
>> >> > > like to know if there are any limitations if Intermediate drivers
>> >> > > are
>> >> > > convereted to Filter drivers. In particular I would like to know
>> >> > > if
>> >> > > it
>> >> > > would
>> >> > > be possible to implement something like a Layer 2 bridge
>> >> > > functionality
>> >> > > (below
>> >> > > TCPIP stack) using a Filter driver.
>> >> > >
>> >> > > I also see a "Mux 6.0 - NDIS 6.0 MUX Intermediate Driver sample"
>> >> > > in
>> >> > > the
>> >> > > WDK.
>> >> > > If Intermediate drivers are deprecated, why is it given as a
>> >> > > sample?
>> >> > > What
>> >> > > am
>> >> > > I missing here? What is the difference between MUX for NDIS 5.1
>> >> > > and
>> >> > > MUX
>> >> > > for
>> >> > > 6.0?
>> >> > >
>> >> > [PCAUSA] Probably a NDIS 6 MUX driver (1 virtual miniport exposed to
>> >> > TCPIP,
>> >> > two or more "real" NICs bound below your driver) would be the best
>> >> > approach
>> >> > for a network bridge if you must do the bridging work yourself.
>> >> >
>> >> > Of course, you could also use the built-in network bridge - which is
>> >> > a
>> >> > 1:N
>> >> > MUX. You could install a NDIS 6 LWF in the path below the system
>> >> > bridge
>> >> > NDIS
>> >> > MUX driver but above the actual NIC miniports. This was you can
>> >> > filter
>> >> > packets entering and leaving the system, but let the system MUX
>> >> > driver
>> >> > do
>> >> > the actual bridging work for you.
>> >> >
>> >> > You probably need to do a little experimentation using the WDK
>> >> > sample
>> >> > drivers to get confortable with the architecture.
>> >> >
>> >> > Good luck,
>> >> >
>> >> > Thomas F. Divine
>> >> > http://www.pcausa.com
>> >> >
>> >> >
>> >> > > Any help is appreciated.
>> >> > >
>> >> > > Thanks,
>> >> > > Anand
>> >> >
>> >> >
>