Re: [PATCH bpf-next v5 07/17] bpf: XDP metadata RX kfuncs

David Vernet
2022-12-27T20:36:09Z

On Tue, Dec 20, 2022 at 02:20:33PM -0800, Stanislav Fomichev wrote:

Hey Stanislav,

[...]

> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index aad12a179e54..b41d18490595 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -74,6 +74,7 @@ struct udp_tunnel_nic_info;
> struct udp_tunnel_nic;
> struct bpf_prog;
> struct xdp_buff;
> +struct xdp_md;
>
> void synchronize_net(void);
> void netdev_set_default_ethtool_ops(struct net_device *dev,
> @@ -1618,6 +1619,11 @@ struct net_device_ops {
> bool cycles);
> };
>
> +struct xdp_metadata_ops {
> + int (*xmo_rx_timestamp)(const struct xdp_md *ctx, u64 *timestamp);
> + int (*xmo_rx_hash)(const struct xdp_md *ctx, u32 *hash);
> +};
> +
> /**
> * enum netdev_priv_flags - &struct net_device priv_flags
> *
> @@ -2050,6 +2056,7 @@ struct net_device {
> unsigned int flags;
> unsigned long long priv_flags;
> const struct net_device_ops *netdev_ops;
> + const struct xdp_metadata_ops *xdp_metadata_ops;

You need to document this field above the struct, or the docs build will
complain:

SPHINX htmldocs -->
<redacted>
make[2]: Nothing to be done for 'html'.
Using sphinx_rtd_theme theme
source directory: networking
./include/linux/netdevice.h:2371: warning: Function parameter or
member 'xdp_metadata_ops' not described in 'net_device'

> int ifindex;
> unsigned short gflags;
> unsigned short hard_header_len;

Thanks,
David