Subject: Re: 13apr2000 /usr/src/usr.sbin/pppd/pppd/Makefile oddity
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: None <itojun@iijlab.net>
List: current-users
Date: 04/20/2000 12:45:16
>>> since we ship userland in binary form, we need to always
>>> enable IPv6 for userland (otherwise, users would need to
>>> recompile the whole userland when he turns on IPv6).
>Yes. True. No argument there. Unfortunately, the state of IPv6
>implementatino deployment __today__ is such that if we want to ship
>code that works at sites with IPv4, plus "early" IPv6 services,
>we also have to ship with IPv6 turned *off*.
How many combinations do you plan to ship? I don't think it
will work.
At this moment, there are 3 builds take place (for 1.5):
without crypto
with US domestic crypto
with international crypto
now you propose to do 6 builds:
IPv4-only without crypto
IPv4-only with US domestic crypto
IPv4-only with international crypto
IPv4/v6 without crypto
IPv4/v6 with US domestic crypto
IPv4/v6 with international crypto
I really vote for IPv4/v6 distribution only. Also we should
integrate crypto-ready distributions into one, to make only 2
builds.
>I guess that means we need either two kernels, or two userlands: one
>with IPv6 on, and one with it off. Also, dont forget the small-footprint
>devices which plausibly cannot afford the bloat of IPv6.
how much size increase is "bloat" for you? for example:
(after strip)
-rwxr-xr-x 1 root itojun 109476 Apr 20 12:28 obj/pppd.v4
-rwxr-xr-x 1 root itojun 117476 Apr 20 12:29 obj/pppd.v6
If many REALLY care, I think it can be done, but I don't really
like this due to maintenance headaches.
- enable IPv4/v6 for kernel and userland by default
- ship IPv4/v6kernel in kern.tgz
- make a separate distribution set "base6.tgz" which contains
IPv6-only tools like route6d or ping6.
base6.tgz will be real small, it will contain only the following
files. I think the base/base6 split is not necessary.
itojun
./sbin/ping6
./sbin/rtsol
./usr/sbin/faithd
./usr/sbin/ifmcstat
./usr/sbin/mld6query
./usr/sbin/mtrace6
./usr/sbin/ndp
./usr/sbin/pim6dd
./usr/sbin/pim6sd
./usr/sbin/pim6stat
./usr/sbin/rip6query
./usr/sbin/route6d
./usr/sbin/rtadvd
./usr/sbin/rtsold
./usr/sbin/traceroute6
manpages for them