[radvd-devel-l] [PATCH] don't run into endless loop

Reuben Hawkins reubenhwk at gmail.com
Thu May 5 13:06:17 EDT 2011


On Thu, May 5, 2011 at 2:00 AM, Ludwig Nussel <ludwig.nussel at suse.de> wrote:

> if an interface has multiple prefixes and one as Base6Interface radvd
> would run into an endless loop as it takes the wrong value for
> prefix->next;
> ---
>  gram.y |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/gram.y b/gram.y
> index 1bade1b..6c80f2b 100644
> --- a/gram.y
> +++ b/gram.y
> @@ -399,7 +399,7 @@ prefixdef   : prefixhead optional_prefixplist ';'
>                                if ( prefix->if6[0] )
>                                {
>                                        struct ifaddrs *ifap = 0, *ifa = 0;
> -                                       struct AdvPrefix *next =
> iface->AdvPrefixList;
> +                                       struct AdvPrefix *next =
> prefix->next;
>
>                                        if (prefix->PrefixLen != 64) {
>                                                flog(LOG_ERR, "Only /64 is
> allowed with Base6Interface.  %s:%d", conf_file, num_lines);
> @@ -436,7 +436,6 @@ prefixdef   : prefixhead optional_prefixplist ';'
>                                                prefix->AdvRouterAddr = 1;
>                                                prefix->AutoSelected = 1;
>                                                prefix->next = next;
> -                                               next = prefix;
>
>                                                if
> (inet_ntop(ifa->ifa_addr->sa_family, (void *)&(prefix->Prefix), buf,
> sizeof(buf)) == NULL)
>                                                        flog(LOG_ERR, "%s:
> inet_ntop failed in %s, line %d!", ifa->ifa_name, conf_file, num_lines);
> --
> 1.7.3.4
>
>
> --
> radvd-devel-l mailing list  :  radvd-devel-l at litech.org
> http://lists.litech.org/listinfo/radvd-devel-l
>


Hi Ludwig,

I'm not seeing any differences with and without the patch.  I have a tunnel
with two IPv6 addresses, and I use that tunnel interface as my
Base6Interface, but when I try with and without the patch, it only finds one
address from the Base6Interface.  Can you let me know how I should test this
and what the differences should be?

Thanks,
Reuben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litech.org/pipermail/radvd-devel-l/attachments/20110505/dd64f028/attachment.html>


More information about the radvd-devel-l mailing list