Skip site navigation (1)Skip section navigation (2)
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>