I have an NDIS Intermediate driver that needs to work on loopback, but Im
not detecting any of the loopback sends or receives. The code is based on
the sample passthru.dll intermediate driver that turns off the
NDIS_PROT_OPTION_NO_LOOPBACK bit when the lower level miniport is queried
with an OID_GEN_PROTOCOL_OPTIONS. Is there some other OID I need to pay
attention to and change? Is it even possible for an Intermediate driver to
interact on loopback?
Thanks,
Michael Schatz
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
Michael,
Whether or not packets are looped back depends on the setting ot the NDIS
packet filter by protocols (usually) above your NDIS IM driver. They will
send the OID_GEN_CURRENT_PACKET_FILTER set information NDIS request. Your
code probably just passes this request through to the lower-level drivers.
Generally the higher-level protocols don’t care about loopback packets at
all. They will probably set the NDIS packet filter to accept directed and
(possibly) multicast packets. In this normal situation your NDIS IM driver
will NOT see any loopback packets at all.
If the higher-level drivers above you set the NDIS packet filter to a filter
setting that causes loopback to occur (e.g., NDIS_PACKET_TYPE_PROMISCUOUS on
802.3 or NDIS_PACKET_TYPE_ALL_LOCAL on 802.5), then you will begin to see
loopback of packets that are sent. (Well, you should unless your are over
yet another NDIS IM driver that eats them…).
You may be able to set promiscuous mode yourself. To do so you must filter
NDIS set information AND NDIS query information requests for
OID_GEN_CURRENT_PACKET_FILTER. You must also filter the completion of these
requests. The basic idea is that 1.) You must be aware of and accomodate the
requested settings of the NDIS packet filter that are made from higher
levels 2.) you make a modified call to the lower driver to set the NDIS
packet filter differently and 3.) when asked by higher-level your must reply
with the NDIS packet filter setting that THEY believe they have asked for…
Hope this helps,
Thomas F. Divine
PCAUSA - Toolkits & Resources For Network Software Developers
NDIS Protocol - NDIS Intermediate - TDI Client
http: - http:
----- Original Message -----
From: “(STi) Michael C. Schatz”
To: “NT Developers Interest List”
Sent: Thursday, August 02, 2001 5:35 PM
Subject: [ntdev] NDIS Intermediate Driver on loopback
> I have an NDIS Intermediate driver that needs to work on loopback, but Im
> not detecting any of the loopback sends or receives. The code is based on
> the sample passthru.dll intermediate driver that turns off the
> NDIS_PROT_OPTION_NO_LOOPBACK bit when the lower level miniport is queried
> with an OID_GEN_PROTOCOL_OPTIONS. Is there some other OID I need to pay
> attention to and change? Is it even possible for an Intermediate driver to
> interact on loopback?
>
> Thanks,
>
> Michael Schatz
—
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</http:></http:>