+ // If there is no on-link prefix present, and srp-mdns-proxy itself is advertising the prefix, and it has configured
+ // an on-link prefix, and the interface is not thread interface, and it just got an interface address removal event,
+ // it is possible that the IPv6 routing has been flushed due to loss of address in configd, so here we explicitly
+ // reconfigure the IPv6 prefix and the routing.
+ else if (interface->need_reconfigure_prefix && !on_link_prefix_present && interface->advertise_ipv6_prefix &&
+ interface->on_link_prefix_configured && !interface->is_thread) {
+ SEGMENTED_IPv6_ADDR_GEN_SRP(interface->ipv6_prefix.s6_addr, __prefix_buf);
+ INFO("routing_policy_evaluate: reconfigure ipv6 prefix due to possible network changes -"
+ " prefix: " PRI_SEGMENTED_IPv6_ADDR_SRP,
+ SEGMENTED_IPv6_ADDR_PARAM_SRP(interface->ipv6_prefix.s6_addr, __prefix_buf));
+ interface_prefix_configure(interface->ipv6_prefix, interface);
+ interface->need_reconfigure_prefix = false;
+ }