Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- From: "Arkady Frenkel" <arkadyf@xxxxxxxxxxxxxxxx>
- Date: Thu, 16 Mar 2006 09:24:56 +0200
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?
.
- Follow-Ups:
- References:
- The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- From: Nathan Evans
- Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- From: Arkady Frenkel
- The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- Prev by Date: Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- Next by Date: Re: Website connectivity Problem
- Previous by thread: Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- Next by thread: Re: The reason why SIO_RCVALL fails to capture outgoing packets on some systems.
- Index(es):
Relevant Pages
|