Re: kernel compile fails if device bpf is not enabled

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Wed, 08 Feb 2023 04:49:46 UTC
Hi Gary,

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

Best regards,
Zhenlei

> 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
>