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]

Reply via email to