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

Stanislav Fomichev
2023-01-03T22:27:57Z

On Tue, Dec 27, 2022 at 12:33 PM David Vernet <void@manifault.com> wrote:
>
> 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, I will try to actually build the doc. Last time I tried it
took too long and I gave up :-)

> Thanks,
> David