о сколько тут без меня то понаписали.
Проблему решил. Там их было две. Вот мое понимание - может звучать по чайнически, так как я не пока еще эксперт сетевых делах и не набрался правильной терминологии, и еще потому что это по русски коряво объясняется.
1) на хосте две сетевых адаптера в одной сети. Виртуальный раутер был подключен только к одному из них. Пакеты "запутывались" когда входили. Решение - назначить на адаптерах IP из разных сетей. traceroute пофиксился, все пакеты к виртуалкам начали идти через "правильный" интерфейс. Но ассиметрия скорости все равно осталась, пришлось копать дальше.
2) Посмотрел tcpdump на "правильном" интерфейсе и увидел вот такое:
23:41:06.453964 IP (tos 0x0, ttl 63, id 5524, offset 0, flags [DF], proto TCP (6), length 2948)
10.10.144.96.http > 10.10.241.226.50786: Flags [.], cksum 0xaab8 (
incorrect -> 0x0cfc), seq 14481:17377, ack 129, win 122, options [nop,nop,TS val 55844306 ecr 4555818],
length 2896
23:41:06.657159 IP (tos 0x0, ttl 63, id 5526, offset 0, flags [DF], proto TCP (6), length 1500)
10.10.144.96.http > 10.10.241.226.50786: Flags [.], cksum 0x5cf1 (
correct), seq 1449:2897, ack 129, win 122, options [nop,nop,TS val 55844510 ecr 4555818],
length 1448
Как я понимаю адаптер объединял входящие пакеты (хотел как лучше

) для пересылки на виртуальный раутер и те, что становились больше MTU не проходили. По этому скорость была меньше именно на вход. Большая часть пакетов была поломана и отвергалась.
Решение - запретить сетевому адаптеру делать это - generic-receive-offload: off
http://comments.gmane.org/gmane.linux.d ... devel/7474
Code: Select all
# ethtool -K em1 gro off
# ethtool -k em1
Features for em1:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: off
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: off
И после этого скорость стала быстрой на вход.
erix wrote:Короче, recap for TS:
1. что за hypervisor?
2. что за guest?
1 - KVM/RedHat
2 - Cirros 3.1 супер компактный линукс который применяется для тестирования Openstack.