안녕하세요. DPDK 용 핑퐁을 구현했습니다. 클라이언트가 패킷을 보내고 서버가 패킷을 수신 한 다음이를 반환합니다.L2 포워딩에서 DPDK 패킷 손실 방지
서버 부분은 DPDK 공식 웹 사이트의 L2 전달 샘플과 유사하게 구현됩니다.
L2 포워딩을 수행하는 동안 수신 대기열에서 전송 대기열로 패킷을 전달하는 동안 패킷 손실이 있음을 발견했습니다.
내 질문은 ... 패킷 손실을 0으로 만드는 방법이 있습니까?
DPDK 웹 사이트의 샘플 애플리케이션에 패킷 손실이 있기 때문에 해결책을 찾지 못했습니다.
패킷 손실
rte_eth_tx_buffer_set_err_callback(tx_buffer[portid], rte_eth_tx_buffer_count_callback, &port_statistics[portid].dropped);
이하 콜백 함수에 의해 계산되고,이 내 구현 단지 탁구 매우 간단한 구현이되므로
Port statistics ====================================
Statistics for port 0 ------------------------------
Packets sent: 384126
Packets received: 379889
Packets dropped: 4237
Aggregate statistics ===============================
Total packets sent: 384126
Total packets received: 379889
Total packets dropped: 4237
====================================================
전달 I가 L2에서이 결과 제 경우에는 패킷 손실이 발생한다고 생각하지 않습니다.
조언 해 주셔서 감사합니다. 하지만 제 사건은 당신이 의심했던 것보다 훨씬 초등학교적이었습니다.그 이유는 패킷의 일부가 헤더에 목적지가 없기 때문입니다. 그러나 나는 L2 포워딩으로 스트레스 테스트를했을 때 추측 된 경험을 경험했습니다. –