Am 02.08.2016 um 12:21 schrieb Chris Johns: > On 2/08/2016 8:05 PM, Christian Mauderer wrote: >> Am 02.08.2016 um 08:57 schrieb Christian Mauderer: >>> Am 02.08.2016 um 04:09 schrieb Chris Johns: >>>> On 02/08/2016 00:04, Christian Mauderer wrote: >> [...] >>> >>>>> Are there any better ideas how to implement such an option? >>>> >>>> There are 2 parts that need be to changed to make this work. This >>>> assumes you will need to control the source being built. >>>> >>>> The first is the module descriptions in libbsd.py and then the >>>> generator. I suggest you look at the various module class methods used >>>> to add source and consider adding a 'section' argument which defaults to >>>> 'default' (always True). This would lets you move code into specific >>>> sections, for example: >>>> >>>> dhcpcd_defines='-D__FreeBSD__ -DTHERE_IS_NO_FORK ...' >>>> mod.addSourceFiles( >>>> [ >>>> 'dhcpcd/ipv6.c', >>>> 'dhcpcd/ipv6nd.c', >>>> ], >>>> mm.generator['source'](dhcpcd_defines), >>>> section = 'networking.ipv6_yes' >>>> ) >>>> >>>> Note, this definition generates something that is evaluated when waf >>>> runs so the 'section' populates a dict where the 'networking.ipv6_yes' >>>> key is tested for True or False depending what the user specifies. >>>> >>>> You could also change the class constructor so you have: >>>> >>>> mod = builder.Module('dhcpcd', section = 'networking.dhcp') >>>> >>>> The dot notation would allow control of the sources at the module level >>>> to finally get sorted out. The dhcpcd module becomes 'networking.dhcpcd' >>>> which means build if networking and dhcpcd are True. You could work down >>>> the dots checking at each point to make sure the module can be built. >>>> Currently module level user control has been left hanging with commented >>>> modules, eg '#mm.addModule(dev_usb_controller_add_on(mm)'. If the >>>> section 'usb.dev_usb_controller_add_on' is False by default that module >>>> is not built which is what we have now. >>>> >>>> The second part is in the waf script (wscript) which handles the user >>>> interface, ie parses >>>> --config="networking:ipv6=no,pink-frames-only,chrismac-buf-frames=64". I >>>> would add this code in a new Python module libbsd_opts.py and imported >>>> into libbsd_waf.py (generated) and called in the 'options' function in >>>> libbsd_waf.py. This would parse and populate a dict the generated module >>>> code uses. >>>> >>> >>> Thanks for the detailed description. I'll need some time to understand >>> everything but it looks like a good starting point. >>> >> [...] >>> >> >> Hello Chris, >> >> I think I managed to understand most of it even if I still only have a >> rough Idea where to start. >> >> If I'm right, you suggested two alternative possible methods: >> >> 1) Add the section-option as parameter to a addSourceFiles. This means >> it is only valid for some sources in a module. >> >> 2) Alternatively add it directly to the module. >> > > I am saying have both so all modules are provide a section. > > I only used the work section because it is the term used in INI files. > >> Did I understand you correct. Or did you mean that the section is added >> to both - the module and the source? > > Close, but how about annotating all source and then we can control it > better. > >> >> As far as I understand the first method, this could be also used for the >> define that depends on the option. Something like this: >> >> def dhcpcd(mm): >> mod = builder.Module('dhcpcd') >> dhcpcd_sources = >> [ >> 'dhcpcd/arp.c', >> 'dhcpcd/auth.c', >> ... >> ] >> dhcpcd_defines_base = '-D__FreeBSD__ -DTHERE_IS_NO_FORK ...' >> dhcpcd_defines_inet6 = dhcpcd_defines_base + ' -DINET6' >> mod.addSourceFiles( >> dhcpcd_sources, >> mm.generator['source'](dhcpcd_defines_base), >> section = 'networking.ipv6_no' >> ) >> mod.addSourceFiles( >> dhcpcd_sources, >> mm.generator['source'](dhcpcd_defines_inet6), >> section = 'networking.ipv6_yes' >> ) >> return mod >> > > It is close, however I suspect -DINET6 is need for all source when being > built. I will take a look and see what I can sort out. > >> I'm not sure how this would be possible with the second method. > > Let me take a closer look. > > Chris >
Hello Chris, just for information: For a test I applied the necessary changes to switch off IPv6 manually. Of course we can't add this to the libbsd directly but it could be a reference what would be necessary. You can find the patch appended to this mail. It should be applied on top of 07176074bdfb53946e277e046ca3e2bc77726bf7 or later. Kind regards Christian -- -------------------------------------------- embedded brains GmbH Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.maude...@embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
From 85b1b663d40ea956b30cc2339c276a0850e44c4e Mon Sep 17 00:00:00 2001 From: Christian Mauderer <christian.maude...@embedded-brains.de> Date: Thu, 4 Aug 2016 14:13:49 +0200 Subject: [PATCH] PATCH: No ipv6. --- libbsd.py | 13 +- libbsd_waf.py | 516 ++++++++++----------- rtemsbsd/include/rtems/bsd/local/opt_inet6.h | 2 +- .../include/rtems/bsd/test/default-network-init.h | 13 - 4 files changed, 244 insertions(+), 300 deletions(-) diff --git a/libbsd.py b/libbsd.py index d466ac6..46f8156 100755 --- a/libbsd.py +++ b/libbsd.py @@ -1915,7 +1915,7 @@ def user_space(mm): 'lib/libc/db/recno/rec_seq.c', 'lib/libc/db/recno/rec_utils.c', ], - mm.generator['source']('-D__DBINTERFACE_PRIVATE -DINET6') + mm.generator['source']('-D__DBINTERFACE_PRIVATE') ) mod.addUserSpaceSourceFiles( [ @@ -2134,7 +2134,7 @@ def user_space(mm): 'usr.bin/netstat/sctp.c', 'usr.bin/netstat/unix.c', ], - mm.generator['source']('-DINET6') + mm.generator['source']() ) return mod @@ -2145,7 +2145,6 @@ def contrib_libpcap(mm): mod = builder.Module('contrib_libpcap') cflags = ['-D__FreeBSD__=1', '-DBSD=1', - '-DINET6', '-D_U_=__attribute__((unused))', '-DHAVE_LIMITS_H=1', '-DHAVE_INTTYPES=1', @@ -2453,7 +2452,6 @@ def usr_sbin_tcpdump(mm): 'contrib/tcpdump/util.c', ], mm.generator['source'](['-D__FreeBSD__=1', - '-DINET6', '-D_U_=__attribute__((unused))', '-DHAVE_CONFIG_H=1', '-DHAVE_NET_PFVAR_H=1'], @@ -2583,7 +2581,6 @@ def dhcpcd(mm): 'dhcpcd/auth.c', 'dhcpcd/bpf.c', 'dhcpcd/common.c', - 'dhcpcd/dhcp6.c', 'dhcpcd/dhcp.c', 'dhcpcd/dhcpcd.c', 'dhcpcd/dhcpcd-embedded.c', @@ -2595,14 +2592,12 @@ def dhcpcd(mm): 'dhcpcd/if-pref.c', 'dhcpcd/ipv4.c', 'dhcpcd/ipv4ll.c', - 'dhcpcd/ipv6.c', - 'dhcpcd/ipv6nd.c', 'dhcpcd/net.c', 'dhcpcd/platform-bsd.c', 'dhcpcd/compat/pselect.c', 'dhcpcd/crypt/hmac_md5.c', ], - mm.generator['source']('-D__FreeBSD__ -DTHERE_IS_NO_FORK -DMASTER_ONLY -DINET -DINET6') + mm.generator['source']('-D__FreeBSD__ -DTHERE_IS_NO_FORK -DMASTER_ONLY -DINET') ) mod.addRTEMSSourceFiles( [ @@ -2677,7 +2672,7 @@ def sources(mm): mm.addModule(net(mm)) mm.addModule(netinet(mm)) - mm.addModule(netinet6(mm)) + #mm.addModule(netinet6(mm)) #mm.addModule(netipsec(mm)) #mm.addModule(net80211(mm)) mm.addModule(opencrypto(mm)) diff --git a/libbsd_waf.py b/libbsd_waf.py index 5ae6ae1..936913e 100644 --- a/libbsd_waf.py +++ b/libbsd_waf.py @@ -153,7 +153,7 @@ def build(bld): features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['__FreeBSD__=1', 'BSD=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'], + defines = defines + ['__FreeBSD__=1', 'BSD=1', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'], source = "freebsd/contrib/libpcap/scanner.c") libbsd_use += ["lex_pcap"] @@ -190,7 +190,7 @@ def build(bld): features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['__FreeBSD__=1', 'BSD=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'], + defines = defines + ['__FreeBSD__=1', 'BSD=1', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'], source = "freebsd/contrib/libpcap/grammar.c") libbsd_use += ["yacc_pcap"] if bld.env.AUTO_REGEN: @@ -228,238 +228,16 @@ def build(bld): libbsd_use += ["yacc___libipsecyy"] # Objects built with different CFLAGS - objs01_source = ['freebsd/bin/hostname/hostname.c', - 'freebsd/contrib/pf/pfctl/pf_print_state.c', - 'freebsd/contrib/pf/pfctl/pfctl.c', - 'freebsd/contrib/pf/pfctl/pfctl_altq.c', - 'freebsd/contrib/pf/pfctl/pfctl_optimize.c', - 'freebsd/contrib/pf/pfctl/pfctl_osfp.c', - 'freebsd/contrib/pf/pfctl/pfctl_parser.c', - 'freebsd/contrib/pf/pfctl/pfctl_qstats.c', - 'freebsd/contrib/pf/pfctl/pfctl_radix.c', - 'freebsd/contrib/pf/pfctl/pfctl_table.c', - 'freebsd/lib/libc/gen/err.c', - 'freebsd/lib/libc/gen/feature_present.c', - 'freebsd/lib/libc/gen/gethostname.c', - 'freebsd/lib/libc/gen/sethostname.c', - 'freebsd/lib/libc/inet/inet_addr.c', - 'freebsd/lib/libc/inet/inet_cidr_ntop.c', - 'freebsd/lib/libc/inet/inet_cidr_pton.c', - 'freebsd/lib/libc/inet/inet_lnaof.c', - 'freebsd/lib/libc/inet/inet_makeaddr.c', - 'freebsd/lib/libc/inet/inet_net_ntop.c', - 'freebsd/lib/libc/inet/inet_net_pton.c', - 'freebsd/lib/libc/inet/inet_neta.c', - 'freebsd/lib/libc/inet/inet_netof.c', - 'freebsd/lib/libc/inet/inet_network.c', - 'freebsd/lib/libc/inet/inet_ntoa.c', - 'freebsd/lib/libc/inet/inet_ntop.c', - 'freebsd/lib/libc/inet/inet_pton.c', - 'freebsd/lib/libc/inet/nsap_addr.c', - 'freebsd/lib/libc/isc/ev_streams.c', - 'freebsd/lib/libc/isc/ev_timers.c', - 'freebsd/lib/libc/nameser/ns_name.c', - 'freebsd/lib/libc/nameser/ns_netint.c', - 'freebsd/lib/libc/nameser/ns_parse.c', - 'freebsd/lib/libc/nameser/ns_print.c', - 'freebsd/lib/libc/nameser/ns_samedomain.c', - 'freebsd/lib/libc/nameser/ns_ttl.c', - 'freebsd/lib/libc/net/base64.c', - 'freebsd/lib/libc/net/ether_addr.c', - 'freebsd/lib/libc/net/gai_strerror.c', - 'freebsd/lib/libc/net/getaddrinfo.c', - 'freebsd/lib/libc/net/gethostbydns.c', - 'freebsd/lib/libc/net/gethostbyht.c', - 'freebsd/lib/libc/net/gethostbynis.c', - 'freebsd/lib/libc/net/gethostnamadr.c', - 'freebsd/lib/libc/net/getifaddrs.c', - 'freebsd/lib/libc/net/getifmaddrs.c', - 'freebsd/lib/libc/net/getnameinfo.c', - 'freebsd/lib/libc/net/getnetbydns.c', - 'freebsd/lib/libc/net/getnetbyht.c', - 'freebsd/lib/libc/net/getnetbynis.c', - 'freebsd/lib/libc/net/getnetnamadr.c', - 'freebsd/lib/libc/net/getproto.c', - 'freebsd/lib/libc/net/getprotoent.c', - 'freebsd/lib/libc/net/getprotoname.c', - 'freebsd/lib/libc/net/getservent.c', - 'freebsd/lib/libc/net/if_indextoname.c', - 'freebsd/lib/libc/net/if_nameindex.c', - 'freebsd/lib/libc/net/if_nametoindex.c', - 'freebsd/lib/libc/net/ip6opt.c', - 'freebsd/lib/libc/net/linkaddr.c', - 'freebsd/lib/libc/net/map_v4v6.c', - 'freebsd/lib/libc/net/name6.c', - 'freebsd/lib/libc/net/nsdispatch.c', - 'freebsd/lib/libc/net/rcmd.c', - 'freebsd/lib/libc/net/recv.c', - 'freebsd/lib/libc/net/rthdr.c', - 'freebsd/lib/libc/net/send.c', - 'freebsd/lib/libc/net/vars.c', - 'freebsd/lib/libc/posix1e/mac.c', - 'freebsd/lib/libc/resolv/h_errno.c', - 'freebsd/lib/libc/resolv/herror.c', - 'freebsd/lib/libc/resolv/mtctxres.c', - 'freebsd/lib/libc/resolv/res_comp.c', - 'freebsd/lib/libc/resolv/res_data.c', - 'freebsd/lib/libc/resolv/res_debug.c', - 'freebsd/lib/libc/resolv/res_findzonecut.c', - 'freebsd/lib/libc/resolv/res_init.c', - 'freebsd/lib/libc/resolv/res_mkquery.c', - 'freebsd/lib/libc/resolv/res_mkupdate.c', - 'freebsd/lib/libc/resolv/res_query.c', - 'freebsd/lib/libc/resolv/res_send.c', - 'freebsd/lib/libc/resolv/res_state.c', - 'freebsd/lib/libc/resolv/res_update.c', - 'freebsd/lib/libc/rpc/auth_des.c', - 'freebsd/lib/libc/rpc/auth_none.c', - 'freebsd/lib/libc/rpc/auth_time.c', - 'freebsd/lib/libc/rpc/auth_unix.c', - 'freebsd/lib/libc/rpc/authdes_prot.c', - 'freebsd/lib/libc/rpc/authunix_prot.c', - 'freebsd/lib/libc/rpc/bindresvport.c', - 'freebsd/lib/libc/rpc/clnt_bcast.c', - 'freebsd/lib/libc/rpc/clnt_dg.c', - 'freebsd/lib/libc/rpc/clnt_generic.c', - 'freebsd/lib/libc/rpc/clnt_perror.c', - 'freebsd/lib/libc/rpc/clnt_raw.c', - 'freebsd/lib/libc/rpc/clnt_simple.c', - 'freebsd/lib/libc/rpc/clnt_vc.c', - 'freebsd/lib/libc/rpc/crypt_client.c', - 'freebsd/lib/libc/rpc/des_crypt.c', - 'freebsd/lib/libc/rpc/des_soft.c', - 'freebsd/lib/libc/rpc/getnetconfig.c', - 'freebsd/lib/libc/rpc/getnetpath.c', - 'freebsd/lib/libc/rpc/getpublickey.c', - 'freebsd/lib/libc/rpc/getrpcent.c', - 'freebsd/lib/libc/rpc/getrpcport.c', - 'freebsd/lib/libc/rpc/key_call.c', - 'freebsd/lib/libc/rpc/key_prot_xdr.c', - 'freebsd/lib/libc/rpc/mt_misc.c', - 'freebsd/lib/libc/rpc/netname.c', - 'freebsd/lib/libc/rpc/netnamer.c', - 'freebsd/lib/libc/rpc/pmap_clnt.c', - 'freebsd/lib/libc/rpc/pmap_getmaps.c', - 'freebsd/lib/libc/rpc/pmap_getport.c', - 'freebsd/lib/libc/rpc/pmap_prot.c', - 'freebsd/lib/libc/rpc/pmap_prot2.c', - 'freebsd/lib/libc/rpc/pmap_rmt.c', - 'freebsd/lib/libc/rpc/rpc_callmsg.c', - 'freebsd/lib/libc/rpc/rpc_commondata.c', - 'freebsd/lib/libc/rpc/rpc_dtablesize.c', - 'freebsd/lib/libc/rpc/rpc_generic.c', - 'freebsd/lib/libc/rpc/rpc_prot.c', - 'freebsd/lib/libc/rpc/rpc_soc.c', - 'freebsd/lib/libc/rpc/rpcb_clnt.c', - 'freebsd/lib/libc/rpc/rpcb_prot.c', - 'freebsd/lib/libc/rpc/rpcb_st_xdr.c', - 'freebsd/lib/libc/rpc/rpcdname.c', - 'freebsd/lib/libc/rpc/rpcsec_gss_stub.c', - 'freebsd/lib/libc/rpc/rtime.c', - 'freebsd/lib/libc/rpc/svc.c', - 'freebsd/lib/libc/rpc/svc_auth.c', - 'freebsd/lib/libc/rpc/svc_auth_des.c', - 'freebsd/lib/libc/rpc/svc_auth_unix.c', - 'freebsd/lib/libc/rpc/svc_dg.c', - 'freebsd/lib/libc/rpc/svc_generic.c', - 'freebsd/lib/libc/rpc/svc_raw.c', - 'freebsd/lib/libc/rpc/svc_run.c', - 'freebsd/lib/libc/rpc/svc_simple.c', - 'freebsd/lib/libc/rpc/svc_vc.c', - 'freebsd/lib/libc/stdio/fgetln.c', - 'freebsd/lib/libc/stdlib/strtoimax.c', - 'freebsd/lib/libc/stdlib/strtonum.c', - 'freebsd/lib/libc/stdlib/strtoumax.c', - 'freebsd/lib/libc/string/strsep.c', - 'freebsd/lib/libc/xdr/xdr.c', - 'freebsd/lib/libc/xdr/xdr_array.c', - 'freebsd/lib/libc/xdr/xdr_float.c', - 'freebsd/lib/libc/xdr/xdr_mem.c', - 'freebsd/lib/libc/xdr/xdr_rec.c', - 'freebsd/lib/libc/xdr/xdr_reference.c', - 'freebsd/lib/libc/xdr/xdr_sizeof.c', - 'freebsd/lib/libc/xdr/xdr_stdio.c', - 'freebsd/lib/libipsec/ipsec_dump_policy.c', - 'freebsd/lib/libipsec/ipsec_get_policylen.c', - 'freebsd/lib/libipsec/ipsec_strerror.c', - 'freebsd/lib/libipsec/pfkey.c', - 'freebsd/lib/libipsec/pfkey_dump.c', - 'freebsd/lib/libmemstat/memstat.c', - 'freebsd/lib/libmemstat/memstat_all.c', - 'freebsd/lib/libmemstat/memstat_malloc.c', - 'freebsd/lib/libmemstat/memstat_uma.c', - 'freebsd/lib/libutil/expand_number.c', - 'freebsd/lib/libutil/humanize_number.c', - 'freebsd/lib/libutil/trimdomain.c', - 'freebsd/sbin/dhclient/alloc.c', - 'freebsd/sbin/dhclient/bpf.c', - 'freebsd/sbin/dhclient/clparse.c', - 'freebsd/sbin/dhclient/conflex.c', - 'freebsd/sbin/dhclient/convert.c', - 'freebsd/sbin/dhclient/dhclient.c', - 'freebsd/sbin/dhclient/dispatch.c', - 'freebsd/sbin/dhclient/errwarn.c', - 'freebsd/sbin/dhclient/hash.c', - 'freebsd/sbin/dhclient/inet.c', - 'freebsd/sbin/dhclient/options.c', - 'freebsd/sbin/dhclient/packet.c', - 'freebsd/sbin/dhclient/parse.c', - 'freebsd/sbin/dhclient/privsep.c', - 'freebsd/sbin/dhclient/tables.c', - 'freebsd/sbin/dhclient/tree.c', - 'freebsd/sbin/ifconfig/af_atalk.c', - 'freebsd/sbin/ifconfig/af_inet.c', - 'freebsd/sbin/ifconfig/af_inet6.c', - 'freebsd/sbin/ifconfig/af_link.c', - 'freebsd/sbin/ifconfig/af_nd6.c', - 'freebsd/sbin/ifconfig/ifbridge.c', - 'freebsd/sbin/ifconfig/ifcarp.c', - 'freebsd/sbin/ifconfig/ifclone.c', - 'freebsd/sbin/ifconfig/ifconfig.c', - 'freebsd/sbin/ifconfig/ifgif.c', - 'freebsd/sbin/ifconfig/ifgre.c', - 'freebsd/sbin/ifconfig/ifgroup.c', - 'freebsd/sbin/ifconfig/iflagg.c', - 'freebsd/sbin/ifconfig/ifmac.c', - 'freebsd/sbin/ifconfig/ifmedia.c', - 'freebsd/sbin/ifconfig/ifpfsync.c', - 'freebsd/sbin/ifconfig/ifvlan.c', - 'freebsd/sbin/ping/ping.c', - 'freebsd/sbin/ping6/ping6.c', - 'freebsd/sbin/route/route.c', - 'freebsd/sbin/sysctl/sysctl.c', - 'freebsd/usr.bin/netstat/atalk.c', - 'freebsd/usr.bin/netstat/bpf.c', - 'freebsd/usr.bin/netstat/if.c', - 'freebsd/usr.bin/netstat/inet.c', - 'freebsd/usr.bin/netstat/inet6.c', - 'freebsd/usr.bin/netstat/ipsec.c', - 'freebsd/usr.bin/netstat/main.c', - 'freebsd/usr.bin/netstat/mbuf.c', - 'freebsd/usr.bin/netstat/mroute.c', - 'freebsd/usr.bin/netstat/mroute6.c', - 'freebsd/usr.bin/netstat/pfkey.c', - 'freebsd/usr.bin/netstat/route.c', - 'freebsd/usr.bin/netstat/sctp.c', - 'freebsd/usr.bin/netstat/unix.c'] + objs01_source = ['rtemsbsd/mghttpd/mongoose.c'] bld.objects(target = "objs01", features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['INET6'], + defines = defines + ['NO_SSL', 'NO_POPEN', 'NO_CGI', 'USE_WEBSOCKET'], source = objs01_source) libbsd_use += ["objs01"] - objs02_source = ['rtemsbsd/mghttpd/mongoose.c'] - bld.objects(target = "objs02", - features = "c", - cflags = cflags, - includes = [] + includes, - defines = defines + ['NO_SSL', 'NO_POPEN', 'NO_CGI', 'USE_WEBSOCKET'], - source = objs02_source) - libbsd_use += ["objs02"] - - objs03_source = ['freebsd/lib/libc/db/btree/bt_close.c', + objs02_source = ['freebsd/lib/libc/db/btree/bt_close.c', 'freebsd/lib/libc/db/btree/bt_conv.c', 'freebsd/lib/libc/db/btree/bt_debug.c', 'freebsd/lib/libc/db/btree/bt_delete.c', @@ -483,15 +261,15 @@ def build(bld): 'freebsd/lib/libc/db/recno/rec_search.c', 'freebsd/lib/libc/db/recno/rec_seq.c', 'freebsd/lib/libc/db/recno/rec_utils.c'] - bld.objects(target = "objs03", + bld.objects(target = "objs02", features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['__DBINTERFACE_PRIVATE', 'INET6'], - source = objs03_source) - libbsd_use += ["objs03"] + defines = defines + ['__DBINTERFACE_PRIVATE'], + source = objs02_source) + libbsd_use += ["objs02"] - objs04_source = ['dhcpcd/arp.c', + objs03_source = ['dhcpcd/arp.c', 'dhcpcd/auth.c', 'dhcpcd/bpf.c', 'dhcpcd/common.c', @@ -499,7 +277,6 @@ def build(bld): 'dhcpcd/crypt/hmac_md5.c', 'dhcpcd/dhcp-common.c', 'dhcpcd/dhcp.c', - 'dhcpcd/dhcp6.c', 'dhcpcd/dhcpcd-embedded.c', 'dhcpcd/dhcpcd.c', 'dhcpcd/duid.c', @@ -509,19 +286,17 @@ def build(bld): 'dhcpcd/if-pref.c', 'dhcpcd/ipv4.c', 'dhcpcd/ipv4ll.c', - 'dhcpcd/ipv6.c', - 'dhcpcd/ipv6nd.c', 'dhcpcd/net.c', 'dhcpcd/platform-bsd.c'] - bld.objects(target = "objs04", + bld.objects(target = "objs03", features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['__FreeBSD__', 'THERE_IS_NO_FORK', 'MASTER_ONLY', 'INET', 'INET6'], - source = objs04_source) - libbsd_use += ["objs04"] + defines = defines + ['__FreeBSD__', 'THERE_IS_NO_FORK', 'MASTER_ONLY', 'INET'], + source = objs03_source) + libbsd_use += ["objs03"] - objs05_source = ['freebsd/contrib/libpcap/bpf_image.c', + objs04_source = ['freebsd/contrib/libpcap/bpf_image.c', 'freebsd/contrib/libpcap/etherent.c', 'freebsd/contrib/libpcap/fad-getad.c', 'freebsd/contrib/libpcap/gencode.c', @@ -534,15 +309,15 @@ def build(bld): 'freebsd/contrib/libpcap/savefile.c', 'freebsd/contrib/libpcap/sf-pcap-ng.c', 'freebsd/contrib/libpcap/sf-pcap.c'] - bld.objects(target = "objs05", + bld.objects(target = "objs04", features = "c", cflags = cflags, includes = [] + includes, - defines = defines + ['__FreeBSD__=1', 'BSD=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1'], - source = objs05_source) - libbsd_use += ["objs05"] + defines = defines + ['__FreeBSD__=1', 'BSD=1', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1'], + source = objs04_source) + libbsd_use += ["objs04"] - objs06_source = ['freebsd/contrib/tcpdump/addrtoname.c', + objs05_source = ['freebsd/contrib/tcpdump/addrtoname.c', 'freebsd/contrib/tcpdump/af.c', 'freebsd/contrib/tcpdump/bpf_dump.c', 'freebsd/contrib/tcpdump/checksum.c', @@ -685,15 +460,215 @@ def build(bld): 'freebsd/contrib/tcpdump/smbutil.c', 'freebsd/contrib/tcpdump/tcpdump.c', 'freebsd/contrib/tcpdump/util.c'] - bld.objects(target = "objs06", + bld.objects(target = "objs05", features = "c", cflags = cflags, includes = ['freebsd/contrib/tcpdump', 'freebsd/usr.sbin/tcpdump/tcpdump'] + includes, - defines = defines + ['__FreeBSD__=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_CONFIG_H=1', 'HAVE_NET_PFVAR_H=1'], - source = objs06_source) - libbsd_use += ["objs06"] + defines = defines + ['__FreeBSD__=1', '_U_=__attribute__((unused))', 'HAVE_CONFIG_H=1', 'HAVE_NET_PFVAR_H=1'], + source = objs05_source) + libbsd_use += ["objs05"] - source = ['freebsd/sys/arm/xilinx/zy7_slcr.c', + source = ['freebsd/bin/hostname/hostname.c', + 'freebsd/contrib/pf/pfctl/pf_print_state.c', + 'freebsd/contrib/pf/pfctl/pfctl.c', + 'freebsd/contrib/pf/pfctl/pfctl_altq.c', + 'freebsd/contrib/pf/pfctl/pfctl_optimize.c', + 'freebsd/contrib/pf/pfctl/pfctl_osfp.c', + 'freebsd/contrib/pf/pfctl/pfctl_parser.c', + 'freebsd/contrib/pf/pfctl/pfctl_qstats.c', + 'freebsd/contrib/pf/pfctl/pfctl_radix.c', + 'freebsd/contrib/pf/pfctl/pfctl_table.c', + 'freebsd/lib/libc/gen/err.c', + 'freebsd/lib/libc/gen/feature_present.c', + 'freebsd/lib/libc/gen/gethostname.c', + 'freebsd/lib/libc/gen/sethostname.c', + 'freebsd/lib/libc/inet/inet_addr.c', + 'freebsd/lib/libc/inet/inet_cidr_ntop.c', + 'freebsd/lib/libc/inet/inet_cidr_pton.c', + 'freebsd/lib/libc/inet/inet_lnaof.c', + 'freebsd/lib/libc/inet/inet_makeaddr.c', + 'freebsd/lib/libc/inet/inet_net_ntop.c', + 'freebsd/lib/libc/inet/inet_net_pton.c', + 'freebsd/lib/libc/inet/inet_neta.c', + 'freebsd/lib/libc/inet/inet_netof.c', + 'freebsd/lib/libc/inet/inet_network.c', + 'freebsd/lib/libc/inet/inet_ntoa.c', + 'freebsd/lib/libc/inet/inet_ntop.c', + 'freebsd/lib/libc/inet/inet_pton.c', + 'freebsd/lib/libc/inet/nsap_addr.c', + 'freebsd/lib/libc/isc/ev_streams.c', + 'freebsd/lib/libc/isc/ev_timers.c', + 'freebsd/lib/libc/nameser/ns_name.c', + 'freebsd/lib/libc/nameser/ns_netint.c', + 'freebsd/lib/libc/nameser/ns_parse.c', + 'freebsd/lib/libc/nameser/ns_print.c', + 'freebsd/lib/libc/nameser/ns_samedomain.c', + 'freebsd/lib/libc/nameser/ns_ttl.c', + 'freebsd/lib/libc/net/base64.c', + 'freebsd/lib/libc/net/ether_addr.c', + 'freebsd/lib/libc/net/gai_strerror.c', + 'freebsd/lib/libc/net/getaddrinfo.c', + 'freebsd/lib/libc/net/gethostbydns.c', + 'freebsd/lib/libc/net/gethostbyht.c', + 'freebsd/lib/libc/net/gethostbynis.c', + 'freebsd/lib/libc/net/gethostnamadr.c', + 'freebsd/lib/libc/net/getifaddrs.c', + 'freebsd/lib/libc/net/getifmaddrs.c', + 'freebsd/lib/libc/net/getnameinfo.c', + 'freebsd/lib/libc/net/getnetbydns.c', + 'freebsd/lib/libc/net/getnetbyht.c', + 'freebsd/lib/libc/net/getnetbynis.c', + 'freebsd/lib/libc/net/getnetnamadr.c', + 'freebsd/lib/libc/net/getproto.c', + 'freebsd/lib/libc/net/getprotoent.c', + 'freebsd/lib/libc/net/getprotoname.c', + 'freebsd/lib/libc/net/getservent.c', + 'freebsd/lib/libc/net/if_indextoname.c', + 'freebsd/lib/libc/net/if_nameindex.c', + 'freebsd/lib/libc/net/if_nametoindex.c', + 'freebsd/lib/libc/net/ip6opt.c', + 'freebsd/lib/libc/net/linkaddr.c', + 'freebsd/lib/libc/net/map_v4v6.c', + 'freebsd/lib/libc/net/name6.c', + 'freebsd/lib/libc/net/nsdispatch.c', + 'freebsd/lib/libc/net/rcmd.c', + 'freebsd/lib/libc/net/recv.c', + 'freebsd/lib/libc/net/rthdr.c', + 'freebsd/lib/libc/net/send.c', + 'freebsd/lib/libc/net/vars.c', + 'freebsd/lib/libc/posix1e/mac.c', + 'freebsd/lib/libc/resolv/h_errno.c', + 'freebsd/lib/libc/resolv/herror.c', + 'freebsd/lib/libc/resolv/mtctxres.c', + 'freebsd/lib/libc/resolv/res_comp.c', + 'freebsd/lib/libc/resolv/res_data.c', + 'freebsd/lib/libc/resolv/res_debug.c', + 'freebsd/lib/libc/resolv/res_findzonecut.c', + 'freebsd/lib/libc/resolv/res_init.c', + 'freebsd/lib/libc/resolv/res_mkquery.c', + 'freebsd/lib/libc/resolv/res_mkupdate.c', + 'freebsd/lib/libc/resolv/res_query.c', + 'freebsd/lib/libc/resolv/res_send.c', + 'freebsd/lib/libc/resolv/res_state.c', + 'freebsd/lib/libc/resolv/res_update.c', + 'freebsd/lib/libc/rpc/auth_des.c', + 'freebsd/lib/libc/rpc/auth_none.c', + 'freebsd/lib/libc/rpc/auth_time.c', + 'freebsd/lib/libc/rpc/auth_unix.c', + 'freebsd/lib/libc/rpc/authdes_prot.c', + 'freebsd/lib/libc/rpc/authunix_prot.c', + 'freebsd/lib/libc/rpc/bindresvport.c', + 'freebsd/lib/libc/rpc/clnt_bcast.c', + 'freebsd/lib/libc/rpc/clnt_dg.c', + 'freebsd/lib/libc/rpc/clnt_generic.c', + 'freebsd/lib/libc/rpc/clnt_perror.c', + 'freebsd/lib/libc/rpc/clnt_raw.c', + 'freebsd/lib/libc/rpc/clnt_simple.c', + 'freebsd/lib/libc/rpc/clnt_vc.c', + 'freebsd/lib/libc/rpc/crypt_client.c', + 'freebsd/lib/libc/rpc/des_crypt.c', + 'freebsd/lib/libc/rpc/des_soft.c', + 'freebsd/lib/libc/rpc/getnetconfig.c', + 'freebsd/lib/libc/rpc/getnetpath.c', + 'freebsd/lib/libc/rpc/getpublickey.c', + 'freebsd/lib/libc/rpc/getrpcent.c', + 'freebsd/lib/libc/rpc/getrpcport.c', + 'freebsd/lib/libc/rpc/key_call.c', + 'freebsd/lib/libc/rpc/key_prot_xdr.c', + 'freebsd/lib/libc/rpc/mt_misc.c', + 'freebsd/lib/libc/rpc/netname.c', + 'freebsd/lib/libc/rpc/netnamer.c', + 'freebsd/lib/libc/rpc/pmap_clnt.c', + 'freebsd/lib/libc/rpc/pmap_getmaps.c', + 'freebsd/lib/libc/rpc/pmap_getport.c', + 'freebsd/lib/libc/rpc/pmap_prot.c', + 'freebsd/lib/libc/rpc/pmap_prot2.c', + 'freebsd/lib/libc/rpc/pmap_rmt.c', + 'freebsd/lib/libc/rpc/rpc_callmsg.c', + 'freebsd/lib/libc/rpc/rpc_commondata.c', + 'freebsd/lib/libc/rpc/rpc_dtablesize.c', + 'freebsd/lib/libc/rpc/rpc_generic.c', + 'freebsd/lib/libc/rpc/rpc_prot.c', + 'freebsd/lib/libc/rpc/rpc_soc.c', + 'freebsd/lib/libc/rpc/rpcb_clnt.c', + 'freebsd/lib/libc/rpc/rpcb_prot.c', + 'freebsd/lib/libc/rpc/rpcb_st_xdr.c', + 'freebsd/lib/libc/rpc/rpcdname.c', + 'freebsd/lib/libc/rpc/rpcsec_gss_stub.c', + 'freebsd/lib/libc/rpc/rtime.c', + 'freebsd/lib/libc/rpc/svc.c', + 'freebsd/lib/libc/rpc/svc_auth.c', + 'freebsd/lib/libc/rpc/svc_auth_des.c', + 'freebsd/lib/libc/rpc/svc_auth_unix.c', + 'freebsd/lib/libc/rpc/svc_dg.c', + 'freebsd/lib/libc/rpc/svc_generic.c', + 'freebsd/lib/libc/rpc/svc_raw.c', + 'freebsd/lib/libc/rpc/svc_run.c', + 'freebsd/lib/libc/rpc/svc_simple.c', + 'freebsd/lib/libc/rpc/svc_vc.c', + 'freebsd/lib/libc/stdio/fgetln.c', + 'freebsd/lib/libc/stdlib/strtoimax.c', + 'freebsd/lib/libc/stdlib/strtonum.c', + 'freebsd/lib/libc/stdlib/strtoumax.c', + 'freebsd/lib/libc/string/strsep.c', + 'freebsd/lib/libc/xdr/xdr.c', + 'freebsd/lib/libc/xdr/xdr_array.c', + 'freebsd/lib/libc/xdr/xdr_float.c', + 'freebsd/lib/libc/xdr/xdr_mem.c', + 'freebsd/lib/libc/xdr/xdr_rec.c', + 'freebsd/lib/libc/xdr/xdr_reference.c', + 'freebsd/lib/libc/xdr/xdr_sizeof.c', + 'freebsd/lib/libc/xdr/xdr_stdio.c', + 'freebsd/lib/libipsec/ipsec_dump_policy.c', + 'freebsd/lib/libipsec/ipsec_get_policylen.c', + 'freebsd/lib/libipsec/ipsec_strerror.c', + 'freebsd/lib/libipsec/pfkey.c', + 'freebsd/lib/libipsec/pfkey_dump.c', + 'freebsd/lib/libmemstat/memstat.c', + 'freebsd/lib/libmemstat/memstat_all.c', + 'freebsd/lib/libmemstat/memstat_malloc.c', + 'freebsd/lib/libmemstat/memstat_uma.c', + 'freebsd/lib/libutil/expand_number.c', + 'freebsd/lib/libutil/humanize_number.c', + 'freebsd/lib/libutil/trimdomain.c', + 'freebsd/sbin/dhclient/alloc.c', + 'freebsd/sbin/dhclient/bpf.c', + 'freebsd/sbin/dhclient/clparse.c', + 'freebsd/sbin/dhclient/conflex.c', + 'freebsd/sbin/dhclient/convert.c', + 'freebsd/sbin/dhclient/dhclient.c', + 'freebsd/sbin/dhclient/dispatch.c', + 'freebsd/sbin/dhclient/errwarn.c', + 'freebsd/sbin/dhclient/hash.c', + 'freebsd/sbin/dhclient/inet.c', + 'freebsd/sbin/dhclient/options.c', + 'freebsd/sbin/dhclient/packet.c', + 'freebsd/sbin/dhclient/parse.c', + 'freebsd/sbin/dhclient/privsep.c', + 'freebsd/sbin/dhclient/tables.c', + 'freebsd/sbin/dhclient/tree.c', + 'freebsd/sbin/ifconfig/af_atalk.c', + 'freebsd/sbin/ifconfig/af_inet.c', + 'freebsd/sbin/ifconfig/af_inet6.c', + 'freebsd/sbin/ifconfig/af_link.c', + 'freebsd/sbin/ifconfig/af_nd6.c', + 'freebsd/sbin/ifconfig/ifbridge.c', + 'freebsd/sbin/ifconfig/ifcarp.c', + 'freebsd/sbin/ifconfig/ifclone.c', + 'freebsd/sbin/ifconfig/ifconfig.c', + 'freebsd/sbin/ifconfig/ifgif.c', + 'freebsd/sbin/ifconfig/ifgre.c', + 'freebsd/sbin/ifconfig/ifgroup.c', + 'freebsd/sbin/ifconfig/iflagg.c', + 'freebsd/sbin/ifconfig/ifmac.c', + 'freebsd/sbin/ifconfig/ifmedia.c', + 'freebsd/sbin/ifconfig/ifpfsync.c', + 'freebsd/sbin/ifconfig/ifvlan.c', + 'freebsd/sbin/ping/ping.c', + 'freebsd/sbin/ping6/ping6.c', + 'freebsd/sbin/route/route.c', + 'freebsd/sbin/sysctl/sysctl.c', + 'freebsd/sys/arm/xilinx/zy7_slcr.c', 'freebsd/sys/cam/cam.c', 'freebsd/sys/cam/scsi/scsi_all.c', 'freebsd/sys/contrib/altq/altq/altq_cbq.c', @@ -882,7 +857,6 @@ def build(bld): 'freebsd/sys/net/if_mib.c', 'freebsd/sys/net/if_spppfr.c', 'freebsd/sys/net/if_spppsubr.c', - 'freebsd/sys/net/if_stf.c', 'freebsd/sys/net/if_tap.c', 'freebsd/sys/net/if_tun.c', 'freebsd/sys/net/if_vlan.c', @@ -972,32 +946,6 @@ def build(bld): 'freebsd/sys/netinet/tcp_timewait.c', 'freebsd/sys/netinet/tcp_usrreq.c', 'freebsd/sys/netinet/udp_usrreq.c', - 'freebsd/sys/netinet6/dest6.c', - 'freebsd/sys/netinet6/frag6.c', - 'freebsd/sys/netinet6/icmp6.c', - 'freebsd/sys/netinet6/in6.c', - 'freebsd/sys/netinet6/in6_cksum.c', - 'freebsd/sys/netinet6/in6_gif.c', - 'freebsd/sys/netinet6/in6_ifattach.c', - 'freebsd/sys/netinet6/in6_mcast.c', - 'freebsd/sys/netinet6/in6_pcb.c', - 'freebsd/sys/netinet6/in6_proto.c', - 'freebsd/sys/netinet6/in6_rmx.c', - 'freebsd/sys/netinet6/in6_src.c', - 'freebsd/sys/netinet6/ip6_forward.c', - 'freebsd/sys/netinet6/ip6_id.c', - 'freebsd/sys/netinet6/ip6_input.c', - 'freebsd/sys/netinet6/ip6_mroute.c', - 'freebsd/sys/netinet6/ip6_output.c', - 'freebsd/sys/netinet6/mld6.c', - 'freebsd/sys/netinet6/nd6.c', - 'freebsd/sys/netinet6/nd6_nbr.c', - 'freebsd/sys/netinet6/nd6_rtr.c', - 'freebsd/sys/netinet6/raw_ip6.c', - 'freebsd/sys/netinet6/route6.c', - 'freebsd/sys/netinet6/scope6.c', - 'freebsd/sys/netinet6/sctp6_usrreq.c', - 'freebsd/sys/netinet6/udp6_usrreq.c', 'freebsd/sys/netpfil/ipfw/dn_heap.c', 'freebsd/sys/netpfil/ipfw/dn_sched_fifo.c', 'freebsd/sys/netpfil/ipfw/dn_sched_prio.c', @@ -1023,6 +971,20 @@ def build(bld): 'freebsd/sys/opencrypto/xform.c', 'freebsd/sys/vm/uma_core.c', 'freebsd/sys/vm/uma_dbg.c', + 'freebsd/usr.bin/netstat/atalk.c', + 'freebsd/usr.bin/netstat/bpf.c', + 'freebsd/usr.bin/netstat/if.c', + 'freebsd/usr.bin/netstat/inet.c', + 'freebsd/usr.bin/netstat/inet6.c', + 'freebsd/usr.bin/netstat/ipsec.c', + 'freebsd/usr.bin/netstat/main.c', + 'freebsd/usr.bin/netstat/mbuf.c', + 'freebsd/usr.bin/netstat/mroute.c', + 'freebsd/usr.bin/netstat/mroute6.c', + 'freebsd/usr.bin/netstat/pfkey.c', + 'freebsd/usr.bin/netstat/route.c', + 'freebsd/usr.bin/netstat/sctp.c', + 'freebsd/usr.bin/netstat/unix.c', 'mDNSResponder/mDNSCore/CryptoAlg.c', 'mDNSResponder/mDNSCore/DNSCommon.c', 'mDNSResponder/mDNSCore/DNSDigest.c', diff --git a/rtemsbsd/include/rtems/bsd/local/opt_inet6.h b/rtemsbsd/include/rtems/bsd/local/opt_inet6.h index 1aaf3a6..e27891c 100644 --- a/rtemsbsd/include/rtems/bsd/local/opt_inet6.h +++ b/rtemsbsd/include/rtems/bsd/local/opt_inet6.h @@ -1 +1 @@ -#define INET6 1 +/* #define INET6 1 */ diff --git a/testsuite/include/rtems/bsd/test/default-network-init.h b/testsuite/include/rtems/bsd/test/default-network-init.h index cea70f2..9c9ae51 100644 --- a/testsuite/include/rtems/bsd/test/default-network-init.h +++ b/testsuite/include/rtems/bsd/test/default-network-init.h @@ -84,22 +84,9 @@ default_network_ifconfig_lo0(void) "255.255.255.0", NULL }; - char *lo0_inet6[] = { - "ifconfig", - "lo0", - "inet6", - "::1", - "prefixlen", - "128", - "alias", - NULL - }; exit_code = rtems_bsd_command_ifconfig(RTEMS_BSD_ARGC(lo0), lo0); assert(exit_code == EX_OK); - - exit_code = rtems_bsd_command_ifconfig(RTEMS_BSD_ARGC(lo0_inet6), lo0_inet6); - assert(exit_code == EX_OK); } #ifndef DEFAULT_NETWORK_NO_INTERFACE_0 -- 2.9.2
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel