Subject: Re: [net-next,03/11] ethtool: Add loopback GET/SET netlink implementation

From: Jakub Kicinski <[email-masked]>
Date: Wed, 11 Mar 2026 19:51:49 -0700

This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.

For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
ethtool: Add loopback GET/SET netlink implementation

This commit adds kernel-side handlers for ETHTOOL_MSG_LOOPBACK_GET,
ETHTOOL_MSG_LOOPBACK_SET, and ETHTOOL_MSG_LOOPBACK_NTF messages.

> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 83c375840835..c9beca11fc40 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -846,6 +846,22 @@ void ethtool_mmsv_set_mm(struct ethtool_mmsv *mmsv, struct ethtool_mm_cfg *cfg);
>  void ethtool_mmsv_init(struct ethtool_mmsv *mmsv, struct net_device *dev,
>  		       const struct ethtool_mmsv_ops *ops);
>
> +/**
> + * struct ethtool_loopback_entry - Per-component loopback configuration
> + * @id: Optional component instance identifier, 0 means not specified
> + * @supported: Bitmask of supported directions
> + * @component: Loopback component
> + * @direction: Current loopback direction, 0 means disabled
> + * @name: Subsystem-specific name for the loopback point
> + */
> +struct ethtool_loopback_entry {
> +	enum ethtool_loopback_component component;
> +	u32 id;
> +	u32 supported;
> +	u32 direction;
> +	char name[ETH_GSTRING_LEN];
> +};

The kernel-doc field tags don't match the struct field order. The
documentation lists @id, @supported, @component, @direction, @name, but
the struct declares them as component, id, supported, direction, name.
Kernel-doc requires @field tags to follow the actual declaration order,
and scripts/kernel-doc will emit warnings for this mismatch.

[ ... ]