[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y7StvH5gtm8O9KLa@maniforge.lan>
Date: Tue, 3 Jan 2023 16:35:40 -0600
From: David Vernet <void@...ifault.com>
To: Stanislav Fomichev <sdf@...gle.com>
Cc: bpf@...r.kernel.org, ast@...nel.org, daniel@...earbox.net,
andrii@...nel.org, martin.lau@...ux.dev, song@...nel.org,
yhs@...com, john.fastabend@...il.com, kpsingh@...nel.org,
haoluo@...gle.com, jolsa@...nel.org,
David Ahern <dsahern@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
Willem de Bruijn <willemb@...gle.com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Anatoly Burakov <anatoly.burakov@...el.com>,
Alexander Lobakin <alexandr.lobakin@...el.com>,
Magnus Karlsson <magnus.karlsson@...il.com>,
Maryam Tahhan <mtahhan@...hat.com>, xdp-hints@...-project.net,
netdev@...r.kernel.org
Subject: Re: [PATCH bpf-next v5 07/17] bpf: XDP metadata RX kfuncs
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@...ifault.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 :-)
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
Powered by blists - more mailing lists