Re: Force IP packets on the wire.
- From: "Volodymyr Shcherbyna" <v_scherbina@xxxxxxxxxxxxxxx>
- Date: Wed, 15 Apr 2009 15:24:21 +0200
Hello,
1) Can the stack optimization be turned off by some configuration value?
I am afraid, no. If it is possible, this would be done by a compilation
condition of network stack. I got a simular case in my expirience, when
Windows was sending the SMB traffic via "optimized" way by sending data via
direct send handlers, and not throught TDI subsystem, thus the TDI_SEND IRPs
were not generated. So, there was a preprocessor definition in code to send
via TDI or to send via direct send handlers. Ironically, XP builds of stack
were sending via direct send handlers, and Vista - via TDI_SEND IRPs, which
probably explains why Vista is so slow :). So I suppose a short answer to
your question is: no.
2) Are there any reliable 3rd party IP stacks that do not provide thislevel
of optimization.
Probably. Never met any ...
3) Or write code that the destination IP is spoofed (non-local
destination) at the application level and then, at say the NDIS level (or
TDI) the IP of the other NIC in the PC is substituted?
This direction could be investigated. I would say you can try to play with
passthru NDIS sample, should not take much time to write a prototype.
--
Volodymyr M. Shcherbyna, blog: http://www.shcherbyna.com/
(This posting is provided "AS IS" with no warranties, and confers no
rights)
"Thomas" <stephen.wheeler@xxxxxxxxxxxx> wrote in message
news:edp0k1QvJHA.228@xxxxxxxxxxxxxxxxxxxxxxx
Thank you for your reply.
You confirm my understanding. However I have 3 follow on questions.
1) Can the stack optimization be turned off by some configuration value?
2) Are there any reliable 3rd party IP stacks that do not provide this
level of optimization.
3) Or write code that the destination IP is spoofed (non-local
destination) at the application level and then, at say the NDIS level (or
TDI) the IP of the other NIC in the PC is substituted?
Thanks.
"Volodymyr Shcherbyna" <v_scherbina@xxxxxxxxxxxxxxx> wrote in message
news:eV0$g7NvJHA.4956@xxxxxxxxxxxxxxxxxxxxxxx
It would not work within one machine, i.e. if you try to connect to IP
which belongs to your own machine stack will optimize the call, and there
will be no data on the wire, however, there will be some traces on TDI
level (i.e., TDI_CONNECT and completion routine will be called), but on
NDIS there will be void.
Use another machine ...
--
Volodymyr M. Shcherbyna, blog: http://www.shcherbyna.com/
(This posting is provided "AS IS" with no warranties, and confers no
rights)
"Thomas" <stephen.wheeler@xxxxxxxxxxxx> wrote in message
news:u661WbFuJHA.1088@xxxxxxxxxxxxxxxxxxxxxxx
I am sure this has been addressed before but I can not find a reference
to a
solution. I am writting a network test tool for testing a networked
device
(kind of like a switch). The tool will use 1 PC that will have multiple
(4)
NIC's and each NIC may have quad ethernet ports. I want to send IP
(TCP/UDP) traffic from one port to another through my network device. I
recall that WinSock will "short circuit" the packet in this case and the
traffic will not appear on the wire (nore through my network device). Is
there a way to force WinSock to send IP traffic via the wire and not via
internal routing. I have been able to send traffic via a layer 2 NDIS
driver
but I want to support true IP type connections for example TCP
handshake.
Thanks
.
- References:
- Force IP packets on the wire.
- From: Thomas
- Re: Force IP packets on the wire.
- From: Volodymyr Shcherbyna
- Re: Force IP packets on the wire.
- From: Thomas
- Force IP packets on the wire.
- Prev by Date: Re: using WinINET to authenticate in php website
- Next by Date: Re: Force IP packets on the wire.
- Previous by thread: Re: Force IP packets on the wire.
- Next by thread: Re: Force IP packets on the wire.
- Index(es):
Relevant Pages
|