Package: radvd Version: 1:0.7.3-1 Severity: normal According to radvd.conf(5), I can configure radvd to continue if a particular interface is unavailable at start time (IgnoreIfMissing). In the case that it becomes available, I should arrange to have radvd receive SIGHUP.
This message is logged when I try "/etc/init.d/radvd reload": Jul 23 03:31:30 turing radvd[22317]: attempting to reread config file Jul 23 03:31:30 turing radvd[22317]: can't join ipv6-allrouters on eth-apo Jul 23 03:31:30 turing radvd[22317]: syntax error in config file: /etc/radvd.conf What strikes me as odd is that I hadn't modified radvd.conf between the times that I started it and sent it SIGHUP. If there was a syntax error, shouldn't it have bombed on startup? This system in particular is a little esoteric; it's x86_64, has "-" in all interface names, and runs Xen. A recipe for disaster, I must concede. I installed the same version--the latest available in Sarge--on an i386 host. I took a fragment of my original radvd.conf and reduced it to the following: interface eth0 { AdvSendAdvert on; prefix 2002:c6ca:19fb:800::/64 { }; }; This is very close to the distributed "simple" example configuration file: --- /usr/share/doc/radvd/examples/simple-radvd.conf 2005-02-22 11:01:32.000000000 -0800 +++ /etc/radvd.conf 2006-07-23 03:39:27.000000000 -0700 @@ -1,7 +1,7 @@ interface eth0 { AdvSendAdvert on; - prefix 2001:db8::/32 + prefix 2002:c6ca:19fb:800::/64 { }; }; Again, it starts, but still insists there must be a syntax error when it gets SIGHUP: $ sudo radvd -m stderr -d 4 [Jul 23 03:59:22] radvd: version 0.7.3 started [Jul 23 03:59:22] radvd: inet_pton returned 1 [Jul 23 03:59:22] radvd: hardware type for eth0 is 1 [Jul 23 03:59:22] radvd: link layer token length for eth0 is 48 [Jul 23 03:59:22] radvd: prefix length for eth0 is 64 [Jul 23 03:59:22] radvd: interface definition for eth0 is ok [Jul 23 03:59:22] radvd: sending RA on eth0 [Jul 23 03:59:22] radvd: setting timer: 600.00 secs [Jul 23 03:59:22] radvd: calling alarm: 599 secs, 999943 usecs [Jul 23 03:59:22] radvd: recvmsg len=56 [Jul 23 03:59:22] radvd: if_index 3 [Jul 23 03:59:22] radvd: found Interface: eth0 <SIGHUP sent to this process> [Jul 23 03:59:37] radvd: sighup_handler called [Jul 23 03:59:37] radvd: attempting to reread config file [Jul 23 03:59:37] radvd: reopening log [Jul 23 03:59:37] radvd: disabling timer for eth0 [Jul 23 03:59:37] radvd: freeing interface eth0 [Jul 23 03:59:37] radvd: inet_pton returned 1 [Jul 23 03:59:37] radvd: hardware type for eth0 is 1 [Jul 23 03:59:37] radvd: link layer token length for eth0 is 48 [Jul 23 03:59:37] radvd: prefix length for eth0 is 64 [Jul 23 03:59:37] radvd: can't join ipv6-allrouters on eth0 [Jul 23 03:59:37] radvd: syntax error in config file: /etc/radvd.conf The message "can't join ipv6-allrouters" seems fairly unusual. I found very few references to it on the WWW, other than a reference to a bug in an old version. On a hunch, I realized I'd seen "ipv6-allrouters" somewhere before. Something similar is listed in /etc/hosts: ff02::2 ip6-allrouters I tried adding "ipv6-allrouters" as an alias, at the end of that line, but got the same result. In closing, they don't call it stateless autoconfiguration for nothing: my workaround is to simply restart radvd whenever an interface state changes. No messages regarding ipv6-allrouters. No bogus syntax errors. IgnoreIfMissing does prove to work--it starts, even if an interface is unavailable, and hosts on the network are picking up autoconfigured addresses. -- System Information: Debian Release: 3.1 Architecture: amd64 (x86_64) Kernel: Linux 2.6.16.13-xen Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages radvd depends on: ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an -- no debconf information -- J.P. Larocque is <[EMAIL PROTECTED]> and <[EMAIL PROTECTED]> Encrypted/signed e-mail preferred; http://ely.ath.cx/~piranha/pgp Fpr 5612 10A8 4986 2D85 A995 252B 4C02 5E02 F61D 2E61; ID 0xF61D2E61 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]