"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: [email protected] [mailto:[email protected]] On Behalf Of Monroe Comstock Sent: Monday, May 02, 2011 12:26 PM To: [email protected] 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: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Monday, May 02, 2011 1:00 PM To: [email protected] Subject: Winpcap-users Digest, Vol 74, Issue 1 Send Winpcap-users mailing list submissions to [email protected] 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 [email protected] You can reach the person managing the list at [email protected] 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 <[email protected]> To: "[email protected]" <[email protected]> Subject: Re: [Winpcap-users] Win7 pcap_sendqueue_transmit performance Message-ID: <[email protected]> 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: [email protected] [mailto:[email protected]] On Behalf Of Monroe Comstock Sent: Monday, April 25, 2011 9:53 AM To: [email protected] 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 [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users ------------------------------ _______________________________________________ Winpcap-users mailing list [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users End of Winpcap-users Digest, Vol 74, Issue 1 ******************************************** _______________________________________________ Winpcap-users mailing list [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users _______________________________________________ Winpcap-users mailing list [email protected] https://www.winpcap.org/mailman/listinfo/winpcap-users
