1$Id: TODO,v 1.32 2009/06/19 07:35:17 psavola Exp $ 2 3 NOTE WELL 4 ========= 5 6 *NONE* of the items are being actively worked on. 7 So, if you're interested in one of these features, 8 it means you'll have to submit a patch... :-) 9 10 11read list of interfaces with SIOCGIFCONF (AF_INET6 support in the kernel would 12be nice) or from /proc 13 14Quoting Peter Bieringer (peter@bieringer.de): 15> Das war's schon. Ach ja, wenn Du mal eine neue Version machst, kannst Du 16> noch einen Schalter einbauen, damit radvd trotz debug-level >0 auf Wunsch 17> als daemon in den Hintergrund starten kann? 18[ Peter wants that a debugging level greater than 0 doesn't stop radvd 19from forking.] 20 21support for few protocol constants defined in RFC 4861 Sec 10 is missing. 22 23consider whether UnicastOnly flag should be detected by radvdump. 24 25read the man pages one more time and make sure their are understandable 26and English is correct 27 28The following parts of RFC4861 are not implemented: 29 - section 6.2.5: when AdvSendAdvertisements changes to FALSE, we don't send 30 a final RA with zero Router Lifetime (we just send it when shutting down). 31 (SHOULD) 32 - section 6.2.8: if the link-local address of the router changes, it should 33 multicast a few RAs from the old address with zero router lifetime, and a 34 few from the new address. (SHOULD). 35 36Consider whether to support RFC 4286 (Multicast Router Discovery). 37 38Consider whether to support multiple IPv4 addresses with Base6to4Interface 39(currently the code just picks one). 40 41Consider whether to support multiple prefixes and routes with a single 42configuration line (instead of having to specify each prefix/route 43separately) somewhat similar to how RDNSS configuration already supports. 44 45Consider whether to support a generalization of Base6to4Interface for 46arbitrary IPv6 prefixes, to be used for automatic generation of downstream 47prefixes. Also consider whether this would need to support multiple IPv6 48prefixes on the upstream interfaces. See question 3 in README for more on 49this. 50 51Use getifaddrs() instead of ioctl SIOCGIFADDR and other friends. The 52problem with this is that e.g. RHL73's glibc didn't support getifaddrs(), 53and before glibc 2.3.3 getifaddrs() didn't use netlink so it didn't work 54well with IPv6. So, some kind of compat library would be needed if this 55would be used... 56 57Consider whether radvd should work around missing/broken interfaces by 58default, especially if a previously working interface gets disabled. 59 60Implement Secure Neighbor Discovery (RFC 3971). 61 62Interface reconfiguration is only supported on Linux. Consider whether to 63support that (and privilege separation as a result) on BSD as well. 64 65The restrictions of the (privilege separation) master process could 66be restricted as currently it basically only needs to write to /proc, 67do some logging and nothing else. 68 69Known problems (probably can't do anything about these): 70 - If interface MAC address changes, radvd will keep sending the old MAC 71 in its LL option (until HUP signal). The kernel will keep sending 72 Ethernet frames with the old MAC until interface is flapped. 73 More: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508466 74 75Prefix/clients/route/RDNSS configurations must be given in exactly this 76order. This should really be more flexible, likely minor work in gram.y. 77