Re: Problem with matching kind of NDIS driver.

Tech-Archive recommends: Speed Up your PC by fixing your registry



"Anton Bassov" <AntonBassov@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:40E794CB-F50D-46CC-9312-E96B5091394D@xxxxxxxxxxxxxxxx
We are telling you that in a NDIS Intermediate (IM) driver the process
information simply is not available. This is because NDIS calls (such
as the call to your drivers MPSendPackets...) are made in "arbitrary
thread context". This means that the process information of the
sender simply does cannot be found from the information available in
that call.
Apparently, the OP just does not want to take NO as an answer (which is
good thing in itself). The best thing to do here is to explain to him
WHY his task in infeasible....
When it comes to outgoing packets, the reasons why his task is infeasible
are different for TCP and datagram-based protocols. Once TCP guarantees
delivery of packets in specified order, any TCP operation involves both
sending and receiving data, so that TCPIP will send part of the
transmission and wait for the confirmation from the counter-party
before sending the next part. Therefore, different parts of the same
transmission may get sent in context of different threads.
When it comes to datagrams, the situation is somehow different - once
datagrams never get fragmented, TCPIP always sends them in context of the
client thread. Therefore, NDIS IM filter that is located immediately
below TCPIP will
get these packets in context of the client thread. However, there is no
guarantee that all lower-level will be able to do the same - everything
depends on how the highest-level IM decides to proceed. Taking into
account that highest-level IM filters are packet schedulers, in
practical terms you cannot expect to receive packets in context of the
same thread in lower-level filters.
The above applies to sends. When it comes to receives, incoming packet
may arrive at any moment, so that IM filter cannot expect to receive it
in context of any particular thread, for understandable reasons,
regardless of protocol.
Hopefully, the above explanation is going to convince the OP that his
task is simply infeasible....
Perhaps you would have better luck if you only worked on Vista. MS has
invented some new APIs that may be of help there.
Again, process context is available only at some certain filtering
levels. For example,
at the level of IP packets (i.e. internal sends and raw socket-related
traffic) you have no chance to relate a packet to its sender process,
although you can do it at higher filtering levels....

Thank you for your exhaustive explanations.

--
With regards
thanks,
Witek


.



Relevant Pages

  • Re: Singletons
    ... But each context may be in a different subsystem and thinks it should initialize the error file when it is initialized. ... Singleton is really just a specialized factory object. ... If the most common mode is for single packet messages, one might try to open a channel at the packet level. ... Because many network protocols limit the size of the message so it has to be split up into separate packets. ...
    (comp.object)
  • Re: Problem with matching kind of NDIS driver.
    ... When it comes to outgoing packets, the reasons why his task is infeasible ... context of different threads. ... NDIS IM filter that is located immediately below ... We are telling you that in a NDIS Intermediate driver the process ...
    (microsoft.public.development.device.drivers)
  • FINAL SUMMARY: technical routing question on Solaris 10
    ... If you recall, we have a network with 4 VLANs. ... When I used snoop -v to show me layer 2 information, the destination MAC was the firewall/gateway in question, so the packets were happily leaving my machine after all and arriving at the firewall. ... We had a context configured in preparation for having a DS3 link from our office to our data center for management. ...
    (SunManagers)
  • Re: Singletons
    ... But each context may be in a different subsystem and thinks it should initialize the error file when it is initialized. ... Singleton is really just a specialized factory object. ... If the most common mode is for single packet messages, one might try to open a channel at the packet level. ... Because many network protocols limit the size of the message so it has to be split up into separate packets. ...
    (comp.object)
  • Re: vpn - problems after connecting
    ... than the connection do not work till disabling/enabling the H.323 filter. ... For ISA Server 2004 Standard Edition, expand Microsoft Internet ... Failed to create a RAS context for the IP address 192.168.0.111. ... API error text: The requested address is not valid in ...
    (microsoft.public.windows.server.sbs)