say you have

2001:db8:23::1/64 and fdac:23::1/64 configured on ix0 and the following 
rad.conf:

interface ix0 {
        prefix fdac:23::/64 { autonomous address-configuration no }
        auto prefix { autonomous address-configuration yes }
}

rad should announce 2001:db8:23::/64 with the A flag set and
fdac:23::/64 without the A flag.

Currently it announces both prefixes with the A flag because auto
prefix wins. I believe that is the wrong way around.

Ross Richardson pointed a use case out in private where you get a
dynamic global prefix via dhcpv6-pd and you want a stable ULA prefix
for your infrastructure but don't want to use the ULA for slaac.
currently that's not possible.

OK?

diff --git frontend.c frontend.c
index 152f13a2738..a02b3ef37ff 100644
--- frontend.c
+++ frontend.c
@@ -791,10 +791,6 @@ merge_ra_interfaces(void)
                ra_iface_conf = find_ra_iface_conf(
                    &frontend_conf->ra_iface_list, ra_iface->conf_name);
 
-               if (ra_iface_conf->autoprefix)
-                       get_interface_prefixes(ra_iface,
-                           ra_iface_conf->autoprefix);
-
                log_debug("add static prefixes for %s", ra_iface->name);
 
                SIMPLEQ_FOREACH(ra_prefix_conf, &ra_iface_conf->ra_prefix_list,
@@ -803,6 +799,11 @@ merge_ra_interfaces(void)
                            &ra_prefix_conf->prefix,
                            ra_prefix_conf->prefixlen, ra_prefix_conf);
                }
+
+               if (ra_iface_conf->autoprefix)
+                       get_interface_prefixes(ra_iface,
+                           ra_iface_conf->autoprefix);
+
                build_packet(ra_iface);
        }
 }


-- 
I'm not entirely sure you are real.

Reply via email to