Date: Thu, 28 Mar 2019 13:45:49 +0100 From: Sebastian Huber <sebastian.huber@embedded-brains.de> To: FreeBSD <freebsd-hackers@freebsd.org> Subject: What is the purpose of BURN_BRIDGES? Message-ID: <1fd4571d-0da1-e325-b6a1-a3cc12f2f05d@embedded-brains.de>
next in thread | raw e-mail | index | archive | help
Hello, I turned on BURN_BRIDGES in my global kernel configuration and now I get=20 undefined references, e.g. /build/rtems/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bi= n/ld:=20 ./libbsd.a(ip6_output.c.18.o): in function `_bsd_ip6_output': /scratch/git-rtems-libbsd/build/powerpc-rtems5-qoriq_e6500_64-default/../= ../freebsd/sys/netinet6/ip6_output.c:548:=20 undefined reference to `_bsd_in6_selectroute_fib' /build/rtems/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bi= n/ld:=20 ./libbsd.a(nd6.c.18.o): in function `nd6_llinfo_timer': /scratch/git-rtems-libbsd/build/powerpc-rtems5-qoriq_e6500_64-default/../= ../freebsd/sys/netinet6/nd6.c:881:=20 undefined reference to `_bsd_nd6_ns_output' /build/rtems/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bi= n/ld:=20 ./libbsd.a(nd6.c.18.o): in function `nd6_resolve_slow': /scratch/git-rtems-libbsd/build/powerpc-rtems5-qoriq_e6500_64-default/../= ../freebsd/sys/netinet6/nd6.c:2461:=20 undefined reference to `_bsd_nd6_ns_output' /build/rtems/5/lib/gcc/powerpc-rtems5/7.4.0/../../../../powerpc-rtems5/bi= n/ld:=20 ./libbsd.a(nd6_nbr.c.18.o): in function `nd6_dad_ns_output': /scratch/git-rtems-libbsd/build/powerpc-rtems5-qoriq_e6500_64-default/../= ../freebsd/sys/netinet6/nd6_nbr.c:1513:=20 undefined reference to `_bsd_nd6_ns_output' This is because of (in6_src.c): #ifndef BURN_BRIDGES int in6_selectroute_fib(struct sockaddr_in6 *dstsock, struct ip6_pktopts *opt= s, =C2=A0=C2=A0=C2=A0 struct ip6_moptions *mopts, struct route_in6 *ro, =C2=A0=C2=A0=C2=A0 struct ifnet **retifp, struct rtentry **retrt, u_int = fibnum) { =C2=A0=C2=A0=C2=A0 return (selectroute(dstsock, opts, mopts, ro, retifp, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 retrt, 0, fibnum)); } #endif And (ip6_output.c): int ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, =C2=A0=C2=A0=C2=A0 struct route_in6 *ro, int flags, struct ip6_moptions = *im6o, =C2=A0=C2=A0=C2=A0 struct ifnet **ifpp, struct inpcb *inp) { ... =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 if (ro->ro_lle) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 LLE_FREE(ro->ro= _lle);=C2=A0=C2=A0=C2=A0 /* zeros ro_lle */ =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 ro->ro_lle =3D NULL; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 if (fwd_tag =3D=3D NULL) { =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 bzero(&dst_sa, = sizeof(dst_sa)); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 dst_sa.sin6_fam= ily =3D AF_INET6; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 dst_sa.sin6_len= =3D sizeof(dst_sa); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 dst_sa.sin6_add= r =3D ip6->ip6_dst; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 } =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 error =3D in6_selectroute_fib(&dst= _sa, opt, im6o, ro, &ifp, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 &rt, fibnum); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 if (error !=3D 0) { =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 if (ifp !=3D NU= LL) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 in6_ifstat_inc(ifp, ifs6_out_discard); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 goto bad; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 } No BURN_BRIDGES conditional compilation. Is this option supposed to=20 work? What is its purpose? I enabled it to get rid of some legacy stuff=20 in bpf.c. --=20 Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.huber@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine gesch=C3=A4ftliche Mitteilung im Sinne des EHUG= .
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1fd4571d-0da1-e325-b6a1-a3cc12f2f05d>