diff options
| author | Roy Marples <roy@marples.name> | 2016-05-25 19:54:07 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2016-05-25 19:54:07 +0000 |
| commit | 3c0de5f3b6e5a0dc8f1bdd22b007b70170b91dc4 (patch) | |
| tree | 2faa2810d7d5c9bf641d906311e2d04204312808 | |
| parent | 7f347e48b61c5dec851c04c37079902822ba8bcd (diff) | |
| download | dhcpcd-3c0de5f3b6e5a0dc8f1bdd22b007b70170b91dc4.tar.xz | |
Report the first non requested address.
| -rw-r--r-- | dhcp6.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -2948,9 +2948,14 @@ dhcp6_handledata(void *arg) case DHCP6_ADVERTISE: if (state->state == DH6S_REQUEST) /* rapid commit */ break; - ap = TAILQ_FIRST(&state->addrs); - logger(ifp->ctx, LOG_INFO, "%s: ADV %s from %s", - ifp->name, ap->saddr, ctx->sfrom); + TAILQ_FOREACH(ap, &state->addrs, next) { + if (!(ap->flags & IPV6_AF_REQUEST)) + break; + } + if (ap == NULL) + ap = TAILQ_FIRST(&state->addrs); + logger(ifp->ctx, LOG_INFO, "%s: ADV %p %s from %s", + ifp->name, ap, ap->saddr, ctx->sfrom); if (ifp->ctx->options & DHCPCD_TEST) break; dhcp6_startrequest(ifp); |
