while trying to simulate this in our setup, we see similar fragment loss for traffic from VM to vrouter. Computes nodes are with vlan tag and sender VM has FIP. Test details: Sender VM - vn1-vm1, IP- 1.1.1.3, FIP- 10.204.221.181 Receiver VM - public1, IP- 10.204.221.180 Sending fragmented out of order echo request from vn1-vm1 to public1. Order of fragments sent from VM – offset 8 , offset 0 , offset 16, offset 24 Sometime fragment with offset 8 is not sent out of the sender compute node. On sender compute node(nodei2): root@nodei2:~# tcpdump -nnvvi any host 10.204.221.180 tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 20:41:26.546050 IP (tos 0x0, ttl 64, id 64422, offset 8, flags [+], proto ICMP (1), length 28) 1.1.1.3 > 10.204.221.180: ip-proto-1 20:41:26.548882 IP (tos 0x0, ttl 64, id 64422, offset 0, flags [+], proto ICMP (1), length 28) 1.1.1.3 > 10.204.221.180: ICMP echo request, id 0, seq 0, length 8 20:41:26.548902 IP (tos 0x0, ttl 63, id 64422, offset 0, flags [+], proto ICMP (1), length 28) 10.204.221.181 > 10.204.221.180: ICMP echo request, id 0, seq 0, length 8 20:41:26.548907 ethertype IPv4, IP (tos 0x0, ttl 63, id 64422, offset 0, flags [+], proto ICMP (1), length 28) 10.204.221.181 > 10.204.221.180: ICMP echo request, id 0, seq 0, length 8 20:41:26.551059 IP (tos 0x0, ttl 64, id 64422, offset 16, flags [+], proto ICMP (1), length 28) 1.1.1.3 > 10.204.221.180: ip-proto-1 20:41:26.551076 IP (tos 0x0, ttl 63, id 64422, offset 16, flags [+], proto ICMP (1), length 28) 10.204.221.181 > 10.204.221.180: ip-proto-1 20:41:26.551079 ethertype IPv4, IP (tos 0x0, ttl 63, id 64422, offset 16, flags [+], proto ICMP (1), length 28) 10.204.221.181 > 10.204.221.180: ip-proto-1 20:41:26.553635 IP (tos 0x0, ttl 64, id 64422, offset 24, flags [none], proto ICMP (1), length 24) 1.1.1.3 > 10.204.221.180: ip-proto-1 20:41:26.553651 IP (tos 0x0, ttl 63, id 64422, offset 24, flags [none], proto ICMP (1), length 24) 10.204.221.181 > 10.204.221.180: ip-proto-1 20:41:26.553653 ethertype IPv4, IP (tos 0x0, ttl 63, id 64422, offset 24, flags [none], proto ICMP (1), length 24) 10.204.221.181 > 10.204.221.180: ip-proto-1 20:41:56.614628 IP (tos 0xc0, ttl 63, id 49537, offset 0, flags [none], proto ICMP (1), length 56) 10.204.221.180 > 1.1.1.3: ICMP ip reassembly time exceeded, length 36 IP (tos 0x0, ttl 63, id 64422, offset 0, flags [+], proto ICMP (1), length 28) 1.1.1.3 > 10.204.221.180: ICMP echo request, id 0, seq 0, length 8 20:41:56.614747 IP (tos 0xc0, ttl 63, id 49537, offset 0, flags [none], proto ICMP (1), length 56) 10.204.221.180 > 1.1.1.3: ICMP ip reassembly time exceeded, length 36 IP (tos 0x0, ttl 63, id 64422, offset 0, flags [+], proto ICMP (1), length 28) 1.1.1.3 > 10.204.221.180: ICMP echo request, id 0, seq 0, length 8 Verified it on receiver compute too, don’t see offset 8 packet there. Setup details: env.roledefs = { 'all': [host1, host2, host3, host4, host5, host6], 'cfgm': [host1], 'openstack': [host1], 'webui': [host2], 'control': [host1, host2, host3], 'compute': [host4, host5, host6], 'collector': [host1, host2, host3], 'database': [host1], 'build': [host_build], } env.hostnames = { 'all': ['nodec7', 'nodec8', 'nodeg36', 'nodei1', 'nodei2', 'nodei3'] } Testbed file @nodec7:/root/fabric-utils/fabfile/testbeds/testbed.py To send out of order echo request from vn1-vm1: ubuntu@vn1-vm1:/tmp$ sudo ./sender.py 10.204.221.180 1.1.1.3