假设在典型的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