Hi,
I have trouble sending a packet from a node to another, using CSMA and UDP sockets.The message is quite big, so it gets fragmented into smaller packets of 1472 bytes, and it works up to 3 fragments but if it grows to need a 4th fragment it fails with the error in the title. It appears that it takes too long to reassemble the fragments and the packet gets dropped.
PCAP trace tcpdump output:
reading from file csma-58-2.pcap, link-type EN10MB (Ethernet)
10.017954 ARP, Request who-has 192.168.0.1 (ff:ff:ff:ff:ff:ff) tell 192.168.0.10, length 50
10.017978 ARP, Reply 192.168.0.1 is-at 00:00:00:00:00:3d, length 50
10.017978 IP 192.168.0.10.49154 > 192.168.0.1.80: UDP, bad length 5791 > 1472
12.026119 ARP, Request who-has 192.168.0.10 (ff:ff:ff:ff:ff:ff) tell 192.168.0.1, length 50
12.026119 ARP, Reply 192.168.0.10 is-at 00:00:00:00:00:46, length 50
12.026145 IP 192.168.0.1 >
192.168.0.10: ICMP time exceeded in-transit, length 36
Sockets are created using ns3::UdpSocketFactory. I have tried to set manually both SetIpTtl and SetRecvTtl attributes on the sockets to larger values, but it didn't help.I even tried to manually set Ipv4L3Protocol::FragmentExpirationTimeout value to 1'' to no avail.
Is there any other way to workaround this problem?
Thank you,
George