Hello, I'm doing some experiments using radv and bird3. as expected it bird3 automatically sends prefix informations if not somehow disabled. when I dynamically add a prefix to an interface (ip a a address/64 dev eno1) it immediatly blasts out that prefix with the default parameters (hardcoded in radv.c as radv_prefix_config default_prefix). Now if that prefix is removed, this prefix is sent as valid_lifetime and preferred_lifetime = 0, but at least linux (NetworkManager) seems to ignore this deprecation, mainly because onlink and autonomous are not set. As soon as I modify the code to do that, the prefix gets deprecated (valid_lifetime gets lower-limited to 7200 on the os side, I think strictly rfc valid_lifetime should also count down on bird starting at 7200, but in practice 0 seems to work too). I've not tried all combinations, but the simplest fix for me is setting .onlink and .autonomous =1 in dead_prefix. I'm not sure if this does not break prefixes that are explicitly defined, so I did not modifiy dead_prefix but instead changed WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) { if (pfx->valid && !pfx->mark) { RADV_TRACE(D_EVENTS, "Invalidating prefix %N on %s", &pfx->prefix, ifa->iface->name); pfx->valid = 0; pfx->changed = now; struct radv_prefix_config *pc = radv_prefix_match(ifa, &pfx->prefix); if(pc) pfx->cf = pc; else pfx-cv = &dead_prefix; } } and in packet.c funtion radv_prepare_prefix I changed if (!px->valid) { ifa->valid_time = MIN(ifa->valid_time, px->changed + ifa->cf->prefix_linger_time S); op->preferred_lifetime = 0; op->valid_lifetime = 0; // might need to be >7200s, see RFC4862 section 5.5.3 e } What do you think about this changes? Regards Michael