Date: Mon, 29 Mar 2021 16:39:02 +0200 From: Emmanuel Vadot <manu@bidouilliste.com> To: Vincenzo Maffione <vmaffione@FreeBSD.org> Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 21d0c01226eb - main - netmap: iflib: add nm_config callback Message-ID: <20210329163902.276b6025663539b2c181af0c@bidouilliste.com> In-Reply-To: <202103290959.12T9xdWL009393@gitrepo.freebsd.org> References: <202103290959.12T9xdWL009393@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Vincenzo, On Mon, 29 Mar 2021 09:59:39 GMT Vincenzo Maffione <vmaffione@FreeBSD.org> wrote: > The branch main has been updated by vmaffione: > > URL: https://cgit.FreeBSD.org/src/commit/?id=21d0c01226eb979556d6d792ec58eb54012fbc24 > > commit 21d0c01226eb979556d6d792ec58eb54012fbc24 > Author: you@x <you@x> I don't think that you've setup your env correctly. > AuthorDate: 2021-03-29 09:26:12 +0000 > Commit: Vincenzo Maffione <vmaffione@FreeBSD.org> > CommitDate: 2021-03-29 09:31:18 +0000 > > netmap: iflib: add nm_config callback > > This per-driver callback is invoked by netmap when it wants > to align the number of TX/RX netmap rings and/or the number of > TX/RX netmap slots to the actual state configured in the hardware. > The alignment happens when netmap mode is switched on (with no > active netmap file descriptors for that netmap port), or when > collecting netmap port information. > > MFC after: 1 week > --- > sys/net/iflib.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/sys/net/iflib.c b/sys/net/iflib.c > index 05e99ba318df..f6cf1233a3b5 100644 > --- a/sys/net/iflib.c > +++ b/sys/net/iflib.c > @@ -829,6 +829,26 @@ iflib_netmap_register(struct netmap_adapter *na, int onoff) > return (status); > } > > +static int > +iflib_netmap_config(struct netmap_adapter *na, struct nm_config_info *info) > +{ > + if_t ifp = na->ifp; > + if_ctx_t ctx = ifp->if_softc; > + iflib_rxq_t rxq = &ctx->ifc_rxqs[0]; > + iflib_fl_t fl = &rxq->ifr_fl[0]; > + > + info->num_tx_rings = ctx->ifc_softc_ctx.isc_ntxqsets; > + info->num_rx_rings = ctx->ifc_softc_ctx.isc_nrxqsets; > + info->num_tx_descs = iflib_num_tx_descs(ctx); > + info->num_rx_descs = iflib_num_rx_descs(ctx); > + info->rx_buf_maxsize = fl->ifl_buf_size; > + nm_prinf("txr %u rxr %u txd %u rxd %u rbufsz %u", > + info->num_tx_rings, info->num_rx_rings, info->num_tx_descs, > + info->num_rx_descs, info->rx_buf_maxsize); > + > + return 0; > +} > + > static int > netmap_fl_refill(iflib_rxq_t rxq, struct netmap_kring *kring, bool init) > { > @@ -1279,6 +1299,7 @@ iflib_netmap_attach(if_ctx_t ctx) > na.nm_rxsync = iflib_netmap_rxsync; > na.nm_register = iflib_netmap_register; > na.nm_intr = iflib_netmap_intr; > + na.nm_config = iflib_netmap_config; > na.num_tx_rings = ctx->ifc_softc_ctx.isc_ntxqsets; > na.num_rx_rings = ctx->ifc_softc_ctx.isc_nrxqsets; > return (netmap_attach(&na)); -- Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210329163902.276b6025663539b2c181af0c>