Re: [xdp-hints] [PATCH bpf-next v2 8/8] selftests/bpf: Simple program to dump XDP RX metadata

Toke Høiland-Jørgensen
2022-11-23T14:29:38Z

Stanislav Fomichev <sdf@google.com> writes:

> +static int rxq_num(const char *ifname)
> +{
> + struct ethtool_channels ch = {
> + .cmd = ETHTOOL_GCHANNELS,
> + };
> +
> + struct ifreq ifr = {
> + .ifr_data = (void *)&ch,
> + };
> + strcpy(ifr.ifr_name, ifname);
> + int fd, ret;
> +
> + fd = socket(AF_UNIX, SOCK_DGRAM, 0);
> + if (fd < 0)
> + error(-1, errno, "socket");
> +
> + ret = ioctl(fd, SIOCETHTOOL, &ifr);
> + if (ret < 0)
> + error(-1, errno, "socket");
> +
> + close(fd);
> +
> + return ch.rx_count;
> +}

mlx5 uses 'combined' channels, so this returns 0. Changing it to just:

return ch.rx_count ?: ch.combined_count;

works though :)

-Toke