假設在典型的DPDK應用程序中,lcore從隊列0的端口0接收數據包流。處理後,它將它們轉發到隊列0端口1.我們如何知道我們正面臨丟包風險。即處理速率低於收入速率,並且積壓數據包的數量將大於接收隊列大小。例如,當我們使用rte_eth_rx_burst()
接收數據包並檢索MAX可能的數據包時,我們可以說什麼?我們如何檢測丟包或丟包風險?如何檢測DPDK中的丟包風險?
回答
使用rte_eth_stats_get
您可以獲取接口統計信息。由該函數填充的rte_eth_stats
結構包含字段rx_nombuf
和imissed
,這可能是您要查找的內容。
查看docs的rte_ethdev
瞭解更多信息。
我正在尋找的是每個接收隊列的警告信號,以通知程序早期的數據包丟失危險。所以我們可以以某種方式減少我們正在對數據包進行處理的數量,或者在最壞的情況下將數據丟棄。 'rte_eth_stats_get()'返回設備的統計信息,不用於接收隊列。我想要的是特定隊列的接收環內的數據包數量。我們使用'rte_eth_rx_queue_setup()'來設置接收隊列,但我們無法訪問已經設置好的接收環。如果我們有,我們可以使用'rte_ring_count()'。 – Kamiar
在處理數據包時,瞭解接收隊列內的積壓數據包數量是增長還是減少很有用。所以你可以選擇如何處理這些變化。 – Kamiar
戒指還有「加水印」機制,在剩餘待辦事項超過給定閾值的情況下通知設備。它由'rte_ring_set_water_mark()'設置。但它不通知接收機程序。我正在尋找類似的信號來表示呼叫程序。 – Kamiar
- 1. 在交易中丟失LAST_INSERT_ID()的風險
- 2. java.util.concurrent.locks.Lock的AutoCloseable包裝中存在風險?
- 3. SharePoint 2010中的開發風險如何?
- 4. 風險
- 5. 風險
- 6. 風險的mod_proxy
- 7. 如何讓PHPUnit在風險測試中失敗
- 8. 測量源代碼更改的風險?
- 9. 的R - Cox風險模型不包括
- 10. 如何在r中找到風險值
- 11. LibGDX中的風險風格遊戲
- 12. 如何檢測Windows Server 2003上的數據包丟失?
- 13. DPDK - 數據包修改
- 14. Django SECRET_KEY風險
- 15. 死鎖風險
- 16. 如何檢測UDP數據包已丟失? (C#)
- 17. 如何在我們自己的dpdk應用程序中使用dpdk的librte_pmd_pcap進行數據包捕獲?
- 18. 如何處理併發風險任務?
- 19. 與從Java中的默認包更改相關的風險?
- 20. 如何檢測TCP連接丟失?
- 21. 如何檢測連接丟失?
- 22. javascript丟包測試
- 23. xgboost,抵消風險?
- 24. WordPress - 安全風險?
- 25. R - 風險錯誤
- 26. 雲服務風險
- 27. DBO權利風險
- 28. 檢測TCP丟失?
- 29. 安全風險(XSS)的風格屬性
- 30. 「檢測到潛在危險的request.form值」
你有端口計數器。 http://dpdk.org/doc/api/rte__ethdev_8h.html看看如何獲得計數器,然後你可以看到滴/錯誤。 – roni