Support muliple RAs on single interface
[project/odhcpd.git] / src / router.c
index c35cd12e7d30c6fd0dc2f71888362e7ffa759533..7bc94ed7825da5d7c91d2ea15ffa4023a3f26eb0 100644 (file)
@@ -380,6 +380,11 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
                        continue;
                }
 
+               if (odhcpd_bmemcmp(&addr->addr, &iface->pio_filter_addr,
+                               iface->pio_filter_length) != 0 ||
+                               addr->prefix < iface->pio_filter_length)
+                       continue; // PIO filtered out of this RA
+
                struct nd_opt_prefix_info *p = NULL;
                for (size_t i = 0; i < pfxs_cnt; ++i) {
                        if (addr->prefix == pfxs[i].nd_opt_pi_prefix_len &&