dpdk vmxnet3 очистить статистику отсутствует (?) реализация
dpdk
Реализация ПМД stats_reset
из 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
,
- Значит ли это
vmxnet3
не может очистить статистику порта? - Есть ли способ реализовать это?
Странно то, что никто не жалуется на это по интернету. Похоже, я единственный, кому это нужно.
- dpdk версии 17.11.1, dpdk-stable-18.02.2
1 ответ
Решение
Означает ли это, что vmxnet3 не может очистить статистику портов?
Да, PMD не реализует функциональность.
Есть ли способ реализовать это?
Мы можем обойти это в коде или реализовать тот же обходной путь в PMD и отправить патч на dev@dpdk.org, как описано здесь: https://www.dpdk.org/contribute/
Идея обходного пути заключается в том, что мы можем хранить базовую статистику:
stats_reset() {
base_stats = eth_stats_get()
}
stats_get() {
return etc_stats_get() - base_stats
}
Не стесняйтесь спрашивать, если это не ясно.