dpdk vmxnet3 clear stats missing (?) 实现

dpdk vmxnet3 clear stats missing (?) implementation

dpdk PMD 实施 stats_reset of rte_ethdev.h:struct eth_dev_ops 以重置端口统计信息。
PMD vmxnet3 没有在

下注册
static const struct eth_dev_ops vmxnet3_eth_dev_ops = {
    ...
    .stats_get            = vmxnet3_dev_stats_get,
    .xstats_get_names     = vmxnet3_dev_xstats_get_names,
    .xstats_get           = vmxnet3_dev_xstats_get,
    ...

只有get个函数,没有reset个函数。

奇怪的是没有人通过互联网抱怨它。看来我是唯一需要它的人了。

Does it mean vmxnet3 cannot clear port statistics?

是的,PMD 没有实现该功能。

Is there a way to implement it?

我们可以在代码中解决它或在 PMD 中实施相同的解决方法,然后将补丁发送到 dev@dpdk.org,如下所述:https://www.dpdk.org/contribute/

解决方法背后的想法是我们可以存储基本统计数据:

stats_reset() {
    base_stats = eth_stats_get()
}

stats_get() {
    return etc_stats_get() - base_stats
}

有不明白的地方欢迎追问