Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.



Additionally only Miniports supported NDIS 5 have to support
OID_TCP_TASK_OFFLOAD ( as I see with OidScope my Intel's card do support
it ) and that not problem for Winpcap ( which use protocol driver ) to set
it
Arkady

"Arkady Frenkel" <arkadyf@xxxxxxxxxxxxxxxx> wrote in message
news:%23cCVkjMSGHA.2536@xxxxxxxxxxxxxxxxxxxxxxx
You can't call OID from user mode .
The only way to do such is IOCTL_NDIS_QUERY_GLOBAL_STATS, but it can be
used for read ( query ) only :(
So you have to write protocol/IM driver for that
Arkady

"Nathan Evans" <nbevans@xxxxxxxxx> wrote in message
news:1142473237.714550.270630@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
A lot of people have been having this problem and recently it happened
to me. A lot of rumours were floating around that it could be caused by
DHCP, bad DNS settings and so on. These theories just did not make
sense because those parts of the networking stack occur much higher up
than where SIO_RCVALL operates.

I did some analysis and it turned out to be caused by the network card
of the PC supporting hardware acceleration. E.g. Task offloading of
checksum calculations and TCP segmentation. Most of the newer
generation Intel NICs support this because it relieves some load off
the CPU.

The reason libraries like Winpcap can still capture outgoing without
any issues is because when their NDIS driver is initialised they tell
the networking stack that they do not support task offloading therefore
it gets disabled and thus they can see outgoing packets.

So the solution for SIO_RCVALL users is to disable these task
offloading features in Device Manager on the Properties of the network
card.

I believe it can also be done programmatically using a special NDIS OID
call from user-mode, but I am not sure. Does any NDIS driver developer
care to clarify that part?





.



Relevant Pages

  • Re: CFT/CFR: NDIS(4) USB support
    ... It looks that NDIS USB support works for some USB wireless drivers so ... This NDIS driver uses some functions which aren't supported by ...
    (freebsd-current)
  • Re: CFT/CFR: NDIS(4) USB support
    ... It looks that NDIS USB support works for some USB wireless drivers so ... Workaround is to build custom kernel with usb stuff .. ...
    (freebsd-current)
  • Re: NDIS Version question.
    ... WinCE 4.2, the IP stack was NDIS 4 and did not support them. ...
    (microsoft.public.development.device.drivers)
  • Re: Windows CE 4.2 kernel parameters
    ... In the final scenario, I want to support them both (and, if possible, let ... the user choose if he/she want the NDIS support or the KITL support for ... the NDIS adapter. ...
    (microsoft.public.windowsce.embedded)
  • [patch 000/176] Video4Linux Updates
    ... Support for em28xx based usb2 boards; ... -Don't enable gpioirq until after card probe. ... -Some changes to allow compiling cx88 and saa7134 without ... -Fixed settings for MSI Vox USB 2.0 ...
    (Linux-Kernel)