Hi, over the last days I fixed a few places missing #ifdef INET as well changed the kernel build file in sys/conf/files and added depencies for those parts that really require INET to compile / work at the moment. WARNING: -------------------------------- This means for example if you build a kernel without INET you will no longer get gre, ipfw, libablias, ipsec, if_enc, if_bridge, nfsserver, .. Those will _silently_ be disabled whether or not they are in your kernel configuration. WARNING: -------------------------------- You will also not get any of the 12 interfaces I found that had a compile time dependency on INET (if you remove INET from your kernel config): if_age, if_alc, if_ale, if_em, if_igb, if_fxp, if_ixgbe, if_jme, if_msk, if_mxge, if_sk, if_txp. I will send out an extra mail with more information on each interface and how to fix later in a second. (The same may apply to some other code). See r193824, r193949-193950, 193954, 193956-193957, 193960, 193983, 193986-193988, 193990-193991, 193993-193994, 193996-193997 of sys/conf/files for what was changed and if you are looking for a network project to cleanup a bit of our stack. For now I didn't see much of a problem here, as virtually noone so far would have built a kernel without INET support and still wanted networking as it just hadn't (easily) been possible. Obviously people may be concerned that those things will rot and warn others with #error anymore and that other people will one day trip over this. Unless hit by a bus I do not intend to drop this ball but will work (together with you!) to clean things up, resolve them, etc. For now the goal was to actually see how much of impure code we have and clean things basically up before 8.0. Now do not expect that I caught all and everything. We are far away from that. The long term goal is to separate INET6 off INET. So in addition to a kernel config like: ---------------------------------------- include LINT ident LINT-NOINET6 nooptions INET6 ---------------------------------------- FreeBSD 8 LINT currently also builds a kernel with: ---------------------------------------- include LINT ident LINT-NOINET makeoptions NO_MODULES=yes nooptions INET nooptions INET6 ---------------------------------------- Note: LINT will not boot! In case of arm I include AVILA, in case of mips I used ADM5120 instead of LINT (as arm and mips do not have LINT). HINT FOR DEVELOPERS: -------------------------------- For developers this means that if you add new code you really should make sure that INET in addition to INET6 will be properly #ifdefed. KIND OF HEADS UP FOR DEVLEOPERS: -------------------------------- This is kind of a heads up that from the time 8 will be branched off and HEAD will be 9 all new code should 1) have feature parity for INET and INET6 where applicable 2) new/changed code that only has #ifdef INET6 but no #ifdef INET (where applicable) should no longer be done. 3) No it's not April 1st today;-) Regards, Bjoern -- Bjoern A. Zeeb The greatest risk is not taking one.Received on Thu Jun 11 2009 - 18:33:21 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:49 UTC