I am unable to send IP multicast datagrams
of size greater than 64 KB (which I need to, for my experiments). I am transferring packets between computers connected directly by 10 Gigabit ethernet
links (without any hops in between, confirmed by traceroute
).
All computers have Ubuntu 12.04 installed. I changed the limits of read and write buffers by adding the following lines in /etc/sysctl.conf
:
net.core.rmem_max=12582912
net.core.wmem_max=12582912
net.core.rmem_default=12582912
net.core.wmem_default=12582912
and verified the changes using sysctl -a (after running sysctl -p). Do I need to restart so that I can see the changes? (I am sharing the machines, so a restart is not always possible).
The MTU
of the interface used to send and receive is 9000 Bytes in all the computers. I have been successful in sending packets of size around 60 KB, and for 100 KB packets, capturing using tcpdump
reveals that the packets are not even sent and probably dropped by the kernel (I don't see them in the tcpdump trace).
What more do I need to do to be able to transfer large packets (preferably of sizes of the order of 100 MBs)?