On Tue, Jan 03, 2023 at 02:23:59PM -0800, Stanislav Fomichev wrote: > On Tue, Dec 27, 2022 at 12:33 PM David Vernet <void@xxxxxxxxxxxxx> 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 :-) FYI the docs build system supports building specific subdirectories, e.g.: make -j SPHINXDIRS="networking" htmldocs That should take O(seconds) instead of O(timeout) :-) - David