Hi, does anyone know what could cause packets to get reordered between source and destination for a raw socket? Specifically: s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL)); My setup consists of two core 2 duo's connected by an Intel PCI Express dual port gigE card. The card is: 04:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 04:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) I'm using ubuntu with kernel: 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 Gigabit driver: [ 4.474059] Intel(R) Gigabit Ethernet Network Driver - version 1.2.45-k2 [ 4.474061] Copyright (c) 2008 Intel Corporation. I am using the following code: http://crouchingdog.com/work.tar.gz You can build it using: tar zxf work.tar.gz cd work touch Makefile make The command line on one side is: sudo ./server eth2 > a On the other side is: sudo ./client eth2 This assumes that eth2 is the interface that the computers are connected to each other through. When the run completes, check the file ./a for the output from the server program. What I end up with is that most packets make it from the server to the client (about 0.5% are lost), however there is a large amount of reordering going on too. Does anyone know if this reordering is happening on the server side or the client side? For a typical run of 1000000 packets, the max delta between packets is 706, and the average delta is 255. If I slow the client down then I can reduce the amount of reordering, but then the throughput suffers. The dump file in the tar file called: capture.pcap was captured using tcpdump. Openning that file in wireshark and examining the first payload field one can observe from packet to packet that the reordering is also happening when tcpdump captures the packets. Any help would be appreciated. When I run iperf in TCP mode I get nearly full throughput, I guess that the TCP stack takes care of the packet reordering and lost packets. Mathys -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html