From: Jakub Kicinski <kuba@kernel.org>
To: Mengyuan Lou <mengyuanlou@net-swift.com>
Cc: netdev@vger.kernel.org, jiawenwu@trustnetic.com,
duanqiangwen@net-swift.com
Subject: Re: [PATCH net-next v2 3/3] net: libwx: support vf hardware statistics
Date: Tue, 26 May 2026 18:49:03 -0700 [thread overview]
Message-ID: <20260526184903.17bff72b@kernel.org> (raw)
In-Reply-To: <20260525101115.13151-4-mengyuanlou@net-swift.com>
On Mon, 25 May 2026 18:11:15 +0800 Mengyuan Lou wrote:
> Add support to show hardware statistics for ethtool -S ethx.
Sadly this does not build. When you repost I think it would be good
to split this patch into two - one for ethtool -S and one for
the queue stats via the netdev API.
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: warning: declaration of 'struct netdev_queue_stats_rx' will not be visible outside of this function [-Wvisibility]
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:428:7: error: incomplete definition of type 'struct netdev_queue_stats_rx'
428 | stats->packets = ring->stats.packets;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: note: forward declaration of 'struct netdev_queue_stats_rx'
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:429:7: error: incomplete definition of type 'struct netdev_queue_stats_rx'
429 | stats->bytes = ring->stats.bytes;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: note: forward declaration of 'struct netdev_queue_stats_rx'
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:430:7: error: incomplete definition of type 'struct netdev_queue_stats_rx'
430 | stats->alloc_fail = wx->alloc_rx_buff_failed;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: note: forward declaration of 'struct netdev_queue_stats_rx'
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:431:7: error: incomplete definition of type 'struct netdev_queue_stats_rx'
431 | stats->csum_complete = wx->hw_csum_rx_good;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: note: forward declaration of 'struct netdev_queue_stats_rx'
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:432:7: error: incomplete definition of type 'struct netdev_queue_stats_rx'
432 | stats->csum_bad = wx->hw_csum_rx_error;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:423:16: note: forward declaration of 'struct netdev_queue_stats_rx'
423 | struct netdev_queue_stats_rx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:436:16: warning: declaration of 'struct netdev_queue_stats_tx' will not be visible outside of this function [-Wvisibility]
436 | struct netdev_queue_stats_tx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:441:7: error: incomplete definition of type 'struct netdev_queue_stats_tx'
441 | stats->packets = ring->stats.packets;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:436:16: note: forward declaration of 'struct netdev_queue_stats_tx'
436 | struct netdev_queue_stats_tx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:442:7: error: incomplete definition of type 'struct netdev_queue_stats_tx'
442 | stats->bytes = ring->stats.bytes;
| ~~~~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:436:16: note: forward declaration of 'struct netdev_queue_stats_tx'
436 | struct netdev_queue_stats_tx *stats)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: warning: declaration of 'struct netdev_queue_stats_rx' will not be visible outside of this function [-Wvisibility]
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:447:12: warning: declaration of 'struct netdev_queue_stats_tx' will not be visible outside of this function [-Wvisibility]
447 | struct netdev_queue_stats_tx *tx)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:449:4: error: incomplete definition of type 'struct netdev_queue_stats_rx'
449 | rx->bytes = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: note: forward declaration of 'struct netdev_queue_stats_rx'
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:450:4: error: incomplete definition of type 'struct netdev_queue_stats_rx'
450 | rx->packets = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: note: forward declaration of 'struct netdev_queue_stats_rx'
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:451:4: error: incomplete definition of type 'struct netdev_queue_stats_rx'
451 | rx->alloc_fail = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: note: forward declaration of 'struct netdev_queue_stats_rx'
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:452:4: error: incomplete definition of type 'struct netdev_queue_stats_rx'
452 | rx->csum_complete = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: note: forward declaration of 'struct netdev_queue_stats_rx'
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:453:4: error: incomplete definition of type 'struct netdev_queue_stats_rx'
453 | rx->csum_bad = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:446:12: note: forward declaration of 'struct netdev_queue_stats_rx'
446 | struct netdev_queue_stats_rx *rx,
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:454:4: error: incomplete definition of type 'struct netdev_queue_stats_tx'
454 | tx->bytes = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:447:12: note: forward declaration of 'struct netdev_queue_stats_tx'
447 | struct netdev_queue_stats_tx *tx)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:455:4: error: incomplete definition of type 'struct netdev_queue_stats_tx'
455 | tx->packets = 0;
| ~~^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:447:12: note: forward declaration of 'struct netdev_queue_stats_tx'
447 | struct netdev_queue_stats_tx *tx)
| ^
../drivers/net/ethernet/wangxun/libwx/wx_vf_common.c:458:37: error: variable has incomplete type 'const struct netdev_stat_ops'
458 | static const struct netdev_stat_ops wxvf_stat_ops = {
| ^
../include/linux/netdevice.h:2452:15: note: forward declaration of 'struct netdev_stat_ops'
2452 | const struct netdev_stat_ops *stat_ops;
| ^
--
pw-bot: cr
next prev parent reply other threads:[~2026-05-27 1:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-25 10:11 [PATCH net-next v2 0/3] net: libwx: improve VF ethtool support Mengyuan Lou
2026-05-25 10:11 ` [PATCH net-next v2 1/3] net: libwx: add support for set_ringparam in wx_ethtool_ops_vf Mengyuan Lou
2026-05-25 10:11 ` [PATCH net-next v2 2/3] net: libwx: add support for set_coalesce " Mengyuan Lou
2026-05-25 10:11 ` [PATCH net-next v2 3/3] net: libwx: support vf hardware statistics Mengyuan Lou
2026-05-27 1:49 ` Jakub Kicinski [this message]
2026-05-27 8:14 ` mengyuanlou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260526184903.17bff72b@kernel.org \
--to=kuba@kernel.org \
--cc=duanqiangwen@net-swift.com \
--cc=jiawenwu@trustnetic.com \
--cc=mengyuanlou@net-swift.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.