Как отправить jumbo frame в dpdk-pktgen

Я использую pktgen в структуре DPDK и не могу отправить пакет размером более 1518 байт. Как увеличить максимальный размер пакета и поддержать Jumbo фрейм?


person N.S.    schedule 19.11.2019    source источник
comment
Jumbo-кадры должны быть включены в конфигурации интерфейса, если интерфейс поддерживает jumbo-кадры. Помните, что jumbo-кадры нестандартны, и разные поставщики делают их по-разному, и один и тот же размер jumbo-кадра должен быть настроен для каждого канала между источником и местом назначения, в противном случае jumbo-кадры будут отбрасываться по пути. Это действительно проблема конфигурации хоста, а не проблема программирования.   -  person Ron Maupin    schedule 19.11.2019
comment
@RonMaupin в DPDK нет конфигурации хоста: интерфейсы напрямую управляются драйверами DPDK и настраиваются с помощью API. Вопрос вполне законный.   -  person Andriy Berestovskyy    schedule 20.11.2019
comment
@RonMaupin В DPDK мы используем драйверы пользовательского пространства, и их нужно настраивать с помощью API или интерфейса командной строки приложения. Обычно мы не можем настроить их на уровне ОС.   -  person Andriy Berestovskyy    schedule 27.11.2019
comment
Аппаратное обеспечение должно быть изменено на уровне ОС, иначе оно будет использовать стандарт Ethernet (MTU 1500) и отбрасывать большие кадры (нестандартная конфигурация, которую поддерживает не все оборудование, и разные поставщики делают это по-разному). Большая часть Ethernet теперь реализована на оборудовании, и оборудование будет отбрасывать кадры слишком большого размера, как гиганты, если только ему не будет сказано иначе. Я вижу, что люди пишут о стандарте jumbo frame, но такого нет. IEEE поддерживает стандарт Ethernet и настаивает на том, чтобы only MTU было 1500; jumbo-кадры нестандартны и поддерживаются некоторым оборудованием в различных конфигурациях.   -  person Ron Maupin    schedule 27.11.2019
comment
@RonMaupin Нет, оборудование не может быть изменено на уровне ОС, когда мы используем DPDK. Как только устройство Ethernet привязано к DPDK, оно исчезает и больше не доступно в ОС. DPDK - это набор драйверов и библиотек Ethernet для пользовательского пространства. DPDK не использует драйверы ОС, он реализует драйверы Ethernet в пользовательском пространстве. Поскольку приложения DPDK напрямую взаимодействуют с оборудованием, существует список поддерживаемых сетевых адаптеров: core.dpdk.org/supported Обычно, чтобы включить поддержку jumbo-кадров в DPDK, мы передаем DEV_RX_OFFLOAD_JUMBO_FRAME флаг rte_eth_dev_configure() Надеюсь, теперь это более понятно;)   -  person Andriy Berestovskyy    schedule 27.11.2019
comment
Я объясняю, что в руководстве DPDK у него есть разные драйверы Ethernet, и примеры того, как настраивать большие кадры, - это использование интерфейса командной строки ОС для установки этого на оборудовании. Это различно для разного оборудования, и, конечно же, не все оборудование поддерживает jumbo-кадры, потому что они нестандартны. Разные производители реализуют это по-разному, а некоторые - нет.   -  person Ron Maupin    schedule 27.11.2019


Ответы (1)


Начиная с этого коммита (совершенного всего через 10 дней после вашего вопрос) вы можете передать -j, чтобы включить поддержку jumbo frame с помощью pktgen.

person 3353755    schedule 05.03.2020
comment
да. Я пообщался с разработчиками dpdk-pktgen для поддержки Jumbo Frame, и был введен флаг '-j'. - person N.S.; 25.11.2020