Я выяснил, в чем причина того, что очереди UDP RSS не работают: адаптер конвергентной сети Intel(R) Ethernet X550-T2 не отправляет Jumbo-пакеты, даже если он настроен (другая сетевая карта делает это), поэтому все пакеты UDP больше, чем по умолчанию 1500MTU разделены на IP-пакеты. IP-пакеты не имеют портов, и алгоритм UDP-RSS-хеширования не может работать. Даже если бы он знал, что пакет IP является частью пакета UDP.
Единственный способ — уменьшить размер MTU на стороне отправки iperf до физического MTU.
Также Windows не получает более одного пакета UDP от ядра при использовании WINSOCK API по умолчанию. Что приведет к очень высокой загрузке процессора. Чтобы решить эту проблему, iperf должен использовать WSA Registered I/O API.
_Первоначально опубликовано @Febbe в https://github.com/esnet/iperf/issues/1049#issuecomment -766829448_
Я бы рад, что вы смогли выяснить, что вызывает эту проблему! К сожалению, ESnet не поддерживает iperf3 в Windows, поэтому, если есть решение, оно должно исходить от сообщества (а также не нарушать iperf3 для поддерживаемых платформ).
Означает ли это, что «ESnet не поддерживает iperf3 в Windows» означает, что вы, как ESnet, не исправите это, но примете PR от сообщества?
Насколько я знаю, RSS-Queues также используются на платформах Linux, поэтому даже там имеет смысл, по крайней мере, добавить флаг, запрещающий фрагментацию пакетов для udp, вместо использования флага по умолчанию -l 8K.
Означает ли это, что «ESnet не поддерживает iperf3 в Windows» означает, что вы, как ESnet, не исправите это, но примете PR от сообщества?
Мы примем PR от сообщества, если они не нарушат функциональность (используйте условную компиляцию, если возможно, есть несколько примеров в дереве) или не вызовут серьезных изменений в дизайне iperf3. У нас нет возможности на самом деле тестировать PR, характерные для Windows, в нашей среде, поэтому лучший шанс получить PR — это если он небольшой и понятный разработчикам, не работающим в Windows.
Отправлен PR #1119, чтобы добавить возможность установки флага "Не фрагментировать".
Самый полезный комментарий
Отправлен PR #1119, чтобы добавить возможность установки флага "Не фрагментировать".