Я использую DPDK для получения пакетов из порта Mellanox Card (ConnectX-6) и обрабатываю их. Движение должно быть 100 Гбит / с. Я использую следующий поток для печати статистики из NIC < /p>
Я использую DPDK для получения пакетов из порта Mellanox Card (ConnectX-6) и обрабатываю их. Движение должно быть 100 Гбит / с. Я использую следующий поток для печати статистики из NIC < /p> [code]static void lcore_main_display_stats(void) { struct rte_eth_xstat_name xstat_names[MAX_XSTATS]; int retval; int num_xstats = 0; struct rte_eth_stats stats; struct rte_eth_xstat xstats[MAX_XSTATS]; uint64_t prev_reading = 0; uint64_t current_diff = 0;
while (MAIN_KEEP_RUNNING == main_keep_running) { fflush(stdout); if (PORT_ACTIVE == downlink1_port.port_status) { // Get standard statistics retval = rte_eth_stats_get(downlink1_port.port_id, &stats);
// Get extended statistics names num_xstats = rte_eth_xstats_get_names(downlink1_port.port_id, xstat_names, MAX_XSTATS);
// Get extended statistics retval = rte_eth_xstats_get(downlink1_port.port_id, xstats, num_xstats);
// Get standard statistics retval = rte_eth_stats_get(downlink1_port.port_id, &stats); if (retval != 0) { fprintf(stderr, "Failed to get standard stats for port %u: %s\n", downlink1_port.port_id, rte_strerror(-retval)); return; }
sleep(ONE_SECOND_SLEEP_TIME); fflush(stdout); } < /code> Но иногда я вижу, что выброшенные пакеты увеличиваются каждую секунду. Я пробовал много возможных сценариев, но я продолжаю отбрасывать пакеты. Стоит отметить, что выброшенные пакеты появляются, когда пропускная способность составляет от 70 до 85 Гбит / с, например. И когда он достигнет 90 Гбит / с, остановки. В то же время пропущенные пакеты сохраняют начальное значение без какого-либо увеличения. Выход пример: < /p> Packets received: 6113919634 Packets transmitted: 0 Bytes received: 6369429122446 Giga bytes received: 5931.993129 Bytes transmitted: 0 RX errors: 0 TX errors: 0 Missed packets: 148596 Missed packets%: 0.002430 rx_phy_discard_packets: 12258048 Discarded packet percentage: 0.200494% RX no mbuf errors: 0 Gbps: 78.914868 [/code] Я пытался изменить MTU до 9600, но все же возникает проблема. [b] Любые объяснения, предложения или решения для этого? [/b]