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