Re: [PATCH net-next v3 3/3] selftests: net: add netpoll basic functionality test
From: Breno Leitao
Date: Mon Jun 30 2025 - 10:33:25 EST
Hello Willem,
On Sat, Jun 28, 2025 at 10:57:20AM -0400, Willem de Bruijn wrote:
> Breno Leitao wrote:
> > +NETCONSOLE_CONFIGFS_PATH: str = "/sys/kernel/config/netconsole"
> > +NETCONS_REMOTE_PORT: int = 6666
> > +NETCONS_LOCAL_PORT: int = 1514
> > +# Max number of netcons messages to send. Each iteration will setup
> > +# netconsole and send 10 messages
> > +ITERATIONS: int = 20
> > +# MAPS contains the information coming from bpftrace
> > +# it will have only one key: @hits, which tells the number of times
> > +# netpoll_poll_dev() was called
>
> nit: no longer has ampersand prefix
Good catch. I will update.
> > +def ethtool_read_rx_tx_queue(interface_name: str) -> tuple[int, int]:
> > + """
> > + Read the number of RX and TX queues using ethtool. This will be used
> > + to restore it after the test
> > + """
> > + rx_queue = 0
> > + tx_queue = 0
> > +
> > + try:
> > + ethtool_result = ethtool(f"-g {interface_name}").stdout
> > + for line in ethtool_result.splitlines():
> > + if line.startswith("RX:"):
> > + rx_queue = int(line.split()[1])
> > + if line.startswith("TX:"):
> > + tx_queue = int(line.split()[1])
>
> Does this work on devices that use combined?
Not sure. This is suppossed to work mostly on netdevsim (for now).
Since I am not familiar with combined TX/RX, I've looked at ethtool
code, and it seems RX and TX wil always be printed?
This is what I found when `-g` is passed to ethtool.
static int dump_ring(const struct ethtool_ringparam *ering)
{
fprintf(stdout,
"Pre-set maximums:\n"
"RX: %u\n"
"RX Mini: %u\n"
"RX Jumbo: %u\n"
"TX: %u\n",
ering->rx_max_pending,
ering->rx_mini_max_pending,
ering->rx_jumbo_max_pending,
ering->tx_max_pending);
fprintf(stdout,
"Current hardware settings:\n"
"RX: %u\n"
"RX Mini: %u\n"
"RX Jumbo: %u\n"
"TX: %u\n",
ering->rx_pending,
ering->rx_mini_pending,
ering->rx_jumbo_pending,
ering->tx_pending);
fprintf(stdout, "\n");
return 0;
}
Thanks for the review,
--breno