#include "networkd-address-pool.h"
#include "networkd-address.h"
#include "networkd-manager.h"
-#include "set.h"
+#include "networkd-queue.h"
#include "string-util.h"
#define RANDOM_PREFIX_TRIAL_MAX 1024
Address *a;
Link *l;
Network *n;
+ Request *req;
assert(p);
assert(u);
if (address_intersect(a, p->family, u, prefixlen))
return true;
+ /* Also check queued addresses. */
+ ORDERED_SET_FOREACH(req, p->manager->request_queue) {
+ if (req->type != REQUEST_TYPE_ADDRESS)
+ continue;
+
+ if (address_intersect(req->userdata, p->family, u, prefixlen))
+ return true;
+ }
+
return false;
}