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
