Re: kernel compile fails if device bpf is not enabled

From: Gary Jennejohn <garyj_at_gmx.de>
Date: Wed, 08 Feb 2023 06:32:49 UTC
On Wed, 8 Feb 2023 12:49:46 +0800
Zhenlei Huang <zlei@FreeBSD.org> wrote:

Hi Zhenlei,

> Thanks for the report! Post the fix to Phabricator https://reviews.freebsd.org/D38432 <https://reviews.freebsd.org/D38432> .
>
> Best regards,
> Zhenlei
>

Thanks!  I see it's been accepted.

> > On Feb 7, 2023, at 5:08 PM, Gary Jennejohn <garyj@gmx.de> wrote:
> >
> > I just saw this error today because I didn't have device bpf enabled in
> > my kernel configuration file:
> >
> > --------------------------------------------------------------
> >>>> stage 3.1: building everything
> > --------------------------------------------------------------
> > linking kernel.full
> > ld: error: undefined symbol: bpf_mtap_if
> >>>> referenced by if.c:4724 (/usr/src/sys/net/if.c:4724)
> >>>>              if.o:(if_bpfmtap)
> >>>> referenced by if_tuntap.c:1717 (/usr/src/sys/net/if_tuntap.c:1717)
> >>>>              if_tuntap.o:(tunread)
> >>>> referenced by if_vlan.c:1292 (/usr/src/sys/net/if_vlan.c:1292)
> >>>>              if_vlan.o:(vlan_transmit)
> >
> > ld: error: undefined symbol: bpf_mtap2_if
> >>>> referenced by if_gif.c:323 (/usr/src/sys/net/if_gif.c:323)
> >>>>              if_gif.o:(gif_transmit)
> >>>> referenced by if_tuntap.c:1816 (/usr/src/sys/net/if_tuntap.c:1816)
> >>>>              if_tuntap.o:(tunwrite)
> > --- kernel.full ---
> > *** [kernel.full] Error code 1
> >
> > This happens because a dummy bpf_mtap_if() (called a NOP stub in bpf.c)
> > isn't being defined if bpf is not enabled.
> >
> > --
> > Gary Jennejohn
> >

--
Gary Jennejohn