Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Oct 2017 22:40:39 +0000
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        Stephen Hurd <shurd@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r325167 - head/sys/net
Message-ID:  <045AD4A3-D46B-4B27-9A75-4C8BBB55DAD8@fubar.geek.nz>
In-Reply-To: <201710302114.v9ULEVHh075576@repo.freebsd.org>
References:  <201710302114.v9ULEVHh075576@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 30 Oct 2017, at 21:14, Stephen Hurd <shurd@FreeBSD.org> wrote:
>=20
> Author: shurd
> Date: Mon Oct 30 21:14:31 2017
> New Revision: 325167
> URL: https://svnweb.freebsd.org/changeset/base/325167
>=20
> Log:
>  Fix PR222744 - netmap errors with iflib em driver
>=20
>  Fix error when refilling netmap buffers that resulted in the first
>  buffer of the successive passes through ifl_bus_addrs[] leaving the
>  first value unset (tmp_pidx started at 1, not zero after the first =
time
>  through the loop).
>=20
>  Leave the one unused buffer required by some NICs visible in the =
netmap
>  ring rather than hidden. There will always be a buffer in use by the
>  kernel now when an iflib driver is used via netmap.
>=20
>  Always get the netmap slot index via netmap_idx_n2k() to account for
>  nkr_hwofs in a consistent way.
>=20
>  Split shared functionality into new functions.
>  iru_init(): shared by _iflib_fl_refill() and netmap_fl_refill()
>  netmap_fl_refill(): shared by iflib_netmap_rxsync() and
>  iflib_netmap_rxq_init()
>=20
>  PR:		222744
>  Reported by:	Shirkdog <mshirk@daemon-security.com>
>  Reviewed by:	sbruno
>  Approved by:	sbruno (mentor)
>  Sponsored by:	Limelight Networks
>  Differential Revision:	https://reviews.freebsd.org/D12769

This breaks building without netmap as iru_init is within an #ifdef =
DEV_NETMAP block, but is declared and used outside this:

--- iflib.o ---
=
/jenkins/workspace/FreeBSD-arm64-head/freebsd-head/sys/net/iflib.c:140:13:=
 error: function 'iru_init' has internal linkage but is not defined =
[-Werror,-Wundefined-internal]

static void iru_init(if_rxd_update_t iru, iflib_rxq_t rxq, uint8_t =
flid);
            ^
=
/jenkins/workspace/FreeBSD-arm64-head/freebsd-head/sys/net/iflib.c:1841:2:=
 note: used here
        iru_init(&iru, fl->ifl_rxq, fl->ifl_id);
        ^
1 error generated.

Andrew




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?045AD4A3-D46B-4B27-9A75-4C8BBB55DAD8>