Я делаю этот проект, где я должен отправить кучу пакетов (используя rte_eth_tx_burst) с одной сетевой карты на другую сетевую карту. эти 2 сетевые карты связаны (по волокну, я думаю? это был не я, кто их связал.), поэтому, если я просто использую tcpdump для прослушивания другой сетевой карты, я могу записать все это и сохранить их в файле pcap.
Моя тестовая среда: 1 .a Linux машина, с 2 парами связанных сетевых карт: eth1 и eth2 связаны, eth3 и eth4 также связаны. 2. Моя программа, слушает eth1. 3. Я отправляю файл pcap, используя eth2 (cmd: tcpreplay -i eth2 test.pcap). 4. Моя программа получает поток пакетов, кадр за кадром, для каждого полученного кадра отправляет его из eth3, используя rte_eth_tx_burst ( ) предоставлено dpdk. 5. Я запускаю tcpdump для прослушивания eth4 (cmd: tcpdump -i eth4 -w recieve.pcap -B 1000)
Моя текущая проблема: 1. Кадры не в своем первоначальном порядке. (но содержание то же самое.) 2. промежуток времени между кадрами не является первоначальными промежутками (но я думаю, что это неизбежно).
вопрос: 1.does dpdk гарантирует порядок отправки пакетов, которые вы помещаете в очередь отправки. 2. возможно, это потому, что tcpdump не гарантирует порядок? 3. или эта проблема неразрешима?