4 The current code is a demonstration of a core principle, an alpha
5 level implementation that does work. It demonstrates a way of getting
6 an IPv6 address anywhere, so as to enable embedded firmware to be
7 written as IPv6-only software. The framework presented requires no
8 network stack from the supporting OS, and indeed it can be built
9 directly on hardware after adding drivers for specific chips.
11 The current code contains a few things that may or may not be so good
12 in the end. After gaining some experience, it is good to have a good
15 * The mem[] array is untyped, calling for lots of cast commands. This
16 is not handy, and a result of the BPF-style architecture for netinput.
17 (The original idea was to do the entire processing in that style, but
18 it turned out not to be sufficiently flexible for that.)
20 * The replies from netinput.c are functions to be called. Decide if
21 this is enough, and if it can cover netreply_* as well as netdb_*
22 with the same setup. Is this all typesafe?
24 * Must join multicast addresses for local addresses, as described in
25 http://tools.ietf.org/html/rfc4291 section 2.7.1, ff02::1:ff00:0/102
26 for solicited-node address. WIDE DHCPv6 server actually needs this.
27 Also join ff02::1 as the all-nodes address.
29 * The netdb module is underdeveloped. The bindings are not used as
30 they could be, there is no neighbour or ARP cache, there is no
31 storage for servers for dns, ntp, sip-proxy.