Входящие в DPDK IPV4 и VLAN RX пакеты от NIC donot имеют установленный флаг разгрузки mbuf, что приводит к отбрасыванию пакета - PullRequest
0 голосов
/ 25 июня 2019

После обновления ОС DPDK и RHEL до последней версии я замечаю, что флаги разгрузки не были установлены в пакетах, полученных от NIC для eth типа VLAN и IPV4.Можно ли это быть проблемой с драйвером? Как это исправить?

Требовалось явно установить флаги разгрузки во входных пакетах VLAN и IPV4.

if (ETHER_TYPE_VLAN == eth_type) {
          m->ol_flags |= PKT_RX_VLAN_PKT;

    }
    if (ETHER_TYPE_IPv4 == eth_type) {
          m->ol_flags |= PKT_RX_IPV4_HDR;
         }

Если эти флаги разгрузки не были установлены в mbuf, пакет будет отброшен и не будет перенаправлен наНажмите устройство.Но установка флага разгрузки для каждого принятого NIC-пакета в приложении вызывает проблемы с производительностью и задержку передачи данных.Наблюдалась потеря сегмента TCP, повторные передачи и отбрасывание переадресации TX.

Эти изменения в отношении установки флага разгрузки для пакетов RX VLAN и IPV4 не требовались при использовании старых DPDK и RHEL6, и пакеты передавались из NIC на устройство Tapи наоборот, без каких-либо проблем.

Так что-нибудь изменилось в отношении DPDK и RHEL 7 для входящих пакетов?Какие-либо изменения конфигурации требуются с новым DPDK, чтобы дать указание аппаратному обеспечению установить флаги разгрузки?

Требуется ли устанавливать флаги CKSUM / offload для пакетов TCP с новым DPDK 18.08, чтобы избежать потери сегмента TCP / ACK DUP и повторных передач?

Пожалуйста, предложите.

...