[Winpcap-users] Win7 pcap_sendqueue_transmit performance

Gianluca Varenni Gianluca.Varenni at riverbed.com
Tue May 3 09:20:41 PDT 2011


"Protocol stack out of whack": a lot of things can mess things up. The first things that come to my mind are personal firewalls, antimalware, VPN clients.

Do you know if the two machines are using the same identical version of the NIC driver?

How big is your sendqueue?

There is no special logging that can be enabled, unfortunately.

GV

-----Original Message-----
From: winpcap-users-bounces at winpcap.org [mailto:winpcap-users-bounces at winpcap.org] On Behalf Of Monroe Comstock
Sent: Monday, May 02, 2011 12:26 PM
To: winpcap-users at winpcap.org
Subject: Re: [Winpcap-users] Win7 pcap_sendqueue_transmit performance

GV,

The NIC Cards are the exact same (Marvell Yukon 88E8056 Gig-E), and the motherboards are from the same manufacturer (ASUS).  They are both on the Local Lan although there is no additional traffic since this is in my sandbox.

Good to know about the checksum offloading.  Not a big deal. Calculating the checksums is not a factor in my performance tests, as I am only calculating the time it takes to call and return from the pcap_sendqueue_transmit method.

Again, the systems are similar, but not exact matches.  They are not fresh installs, although the WIN7 is fairly recent and is the one that is lagging.
Is there some check that can be performed to see if the protocol stack is out of whack?

Referring to the Win7 installation, I'm curious as to why the winsock method of sending the packets (one at a time) would be faster than using the
pcap_sendqueue_transmit.    As I mentioned, on Vista I can send the lot in
5ms using pcap_sendqueue_transmit, On Win7, winsock can do it in 15ms (one at a time) , but pcap_sendqueue_transmit is taking upwards of 60ms.

Is there some special logging that can be turned on to try to isolate the delay?

Greatly appreciated,

Monroe

-----Original Message-----
From: winpcap-users-bounces at winpcap.org
[mailto:winpcap-users-bounces at winpcap.org] On Behalf Of winpcap-users-request at winpcap.org
Sent: Monday, May 02, 2011 1:00 PM
To: winpcap-users at winpcap.org
Subject: Winpcap-users Digest, Vol 74, Issue 1

Send Winpcap-users mailing list submissions to
	winpcap-users at winpcap.org

To subscribe or unsubscribe via the World Wide Web, visit
	https://www.winpcap.org/mailman/listinfo/winpcap-users
or, via email, send a message with subject or body 'help' to
	winpcap-users-request at winpcap.org

You can reach the person managing the list at
	winpcap-users-owner at winpcap.org

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Winpcap-users digest..."


Today's Topics:

   1. Re: Win7 pcap_sendqueue_transmit performance (Gianluca Varenni)


----------------------------------------------------------------------

Message: 1
Date: Mon, 2 May 2011 10:58:37 -0700
From: Gianluca Varenni <Gianluca.Varenni at riverbed.com>
To: "winpcap-users at winpcap.org" <winpcap-users at winpcap.org>
Subject: Re: [Winpcap-users] Win7 pcap_sendqueue_transmit performance
Message-ID:
	<AF250ADA3E79E64A97672D195AA114E1012D122F at MAILBOXES.nbttech.com>
Content-Type: text/plain; charset="us-ascii"

Monroe,

Are you using the *same* hardware and the same network card? Also, is the same NIC used for something else (e.g. normal LAN connection) or it's a dedicated NIC?

The flags that you indicated are not used when sending packets out. The NIC will *not* calculate the IP/UDP checksums for you when transmitting with WinPcap. There is a specific negotiation process that happens between the NIC driver and the protocol driver in order to use checksum offloading.
WinPcap does not support it.

There shouldn't be any difference if the hardware and test conditions are the same. Also, are the two machines using a fresh, clean installation of
Win7 and Vista?

Have a nice day
GV

-----Original Message-----
From: winpcap-users-bounces at winpcap.org
[mailto:winpcap-users-bounces at winpcap.org] On Behalf Of Monroe Comstock
Sent: Monday, April 25, 2011 9:53 AM
To: winpcap-users at winpcap.org
Subject: [Winpcap-users] Win7 pcap_sendqueue_transmit performance

Hello again,

I apologize for the flurry of questions.  I'm head down developing my application at the moment and I have run into an odd behavior that I'd like to inquire about.

I've got an application that sends about 500 packets (about 300 bytes each) every 10ms using the pcap_sendqueue_transmit function.  I'm also using QueryPerformanceCounter to record the time it takes to do the send.  My
thread that sends the packets uses its own instance of a pcap_t.   I've also
tried many combinations of PCAP_OPENFLAG_MAX_RESPONSIVENESS and PCAP_OPENFLAG_NOCAPTURE_LOCAL to see it they have any impact, yet they don't appear to.

What I've found is that on a Vista machine (Core2 Duo 3Ghz) I can send these packets consistently in 5ms or less.  However on a Win7 (Core i7 2.8Ghz) the same call, using the exact same code, takes upwards of 60ms (consistently) to send the same amount of data.  Moreover, if I disable the pcap send functionality on the Win7 box and just use a normal winsock send, winsock out performs pcap_sendqueue_transmit by a huge margin (about 15ms to send).
Be advised that I am NOT using time stamps and I send with "sync" set to 0.

Both machines have good NICs (GigE) with checksum offloading, although for some reason I still seem to need to calculate the IP and UDP checksums before I add the packets to the queue (Shouldn't the NIC card calculate these for me?) .  But I digress...

So, my question is:  Does Windows 7 have some negative effect on the performance of pcap_sendqueue_transmit that would cause it to have a 10 fold increase in the transmission time?  Or have I forgotten something elementary?

Thanks again for all your help!

Monroe


_______________________________________________
Winpcap-users mailing list
Winpcap-users at winpcap.org
https://www.winpcap.org/mailman/listinfo/winpcap-users


------------------------------

_______________________________________________
Winpcap-users mailing list
Winpcap-users at winpcap.org
https://www.winpcap.org/mailman/listinfo/winpcap-users


End of Winpcap-users Digest, Vol 74, Issue 1
********************************************

_______________________________________________
Winpcap-users mailing list
Winpcap-users at winpcap.org
https://www.winpcap.org/mailman/listinfo/winpcap-users


More information about the Winpcap-users mailing list