Re: Force IP packets on the wire.



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 this
level
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









.



Relevant Pages

  • RE: Packet Blocking a.k.a. BlackICE
    ... BlackICE Defender has the equivalent of an intermediate driver. ... the same place in the stack. ... just one step above the network. ... (Which means, for example, that TDI ...
    (Focus-IDS)
  • Re: Signs of Maccie desperation!
    ... they cannot be implemented in UNIX? ... Network mapping magically detects what your ... Same with the new stack. ... interface, and a ton load of new technologies in the file system, kernel, ...
    (comp.sys.mac.advocacy)
  • Re: NDIS Drivers, Symbolic Names, Ethernet send/receive etc.
    ... (I retrieved these NDIS and IP strings from QueryDosDevice) ... >> Does windows xp automatically install NDIS drivers for detected network ... Pointer to a buffer that contains the query OID that NDIS should use. ... Specifies the size, in bytes, of the query OID at lpInBuffer. ...
    (microsoft.public.win32.programmer.networks)
  • Re: Sending data to local port
    ... "Port" is a concept applies to TCP/UDP, so, if you want to send something to ... way to the bottom of the stack.). ... and network layers of the stack. ... gradually makes its way back up through the network layers. ...
    (microsoft.public.win32.programmer.networks)
  • HEADS UP: debug.mpsafenet behavior changing! (turn it off)
    ... merging more significant parts of the network locking patches. ... Giant is held over the lower level parts ... of the stack. ...
    (freebsd-current)