From: Roy Marples Date: Fri, 14 Feb 2020 06:47:40 +0000 (+0000) Subject: net: If if_learnaddrs fails unexpectedly, log address and interface X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=700899cab6d32660f8759ae79212e2b2151bace2;p=thirdparty%2Fdhcpcd.git net: If if_learnaddrs fails unexpectedly, log address and interface This will greatly aid debugging. --- diff --git a/src/if.c b/src/if.c index 44559337..bc0241af 100644 --- a/src/if.c +++ b/src/if.c @@ -283,8 +283,15 @@ if_learnaddrs(struct dhcpcd_ctx *ctx, struct if_head *ifs, addrflags = if_addrflags(ifp, &addr->sin_addr, ifa->ifa_name); if (addrflags == -1) { - if (errno != EEXIST && errno != EADDRNOTAVAIL) - logerr("%s: if_addrflags", __func__); + if (errno != EEXIST && errno != EADDRNOTAVAIL) { + char dbuf[INET_ADDRSTRLEN]; + const char *dbp; + + dbp = inet_ntop(AF_INET, &addr->sin_addr, + dbuf, sizeof(dbuf)); + logerr("%s: if_addrflags: %s%%%s", + __func__, dbp, ifp->name); + } continue; } #endif @@ -308,8 +315,15 @@ if_learnaddrs(struct dhcpcd_ctx *ctx, struct if_head *ifs, addrflags = if_addrflags6(ifp, &sin6->sin6_addr, ifa->ifa_name); if (addrflags == -1) { - if (errno != EEXIST && errno != EADDRNOTAVAIL) - logerr("%s: if_addrflags6", __func__); + if (errno != EEXIST && errno != EADDRNOTAVAIL) { + char dbuf[INET6_ADDRSTRLEN]; + const char *dbp; + + dbp = inet_ntop(AF_INET6, &sin6->sin6_addr, + dbuf, sizeof(dbuf)); + logerr("%s: if_addrflags6: %s%%%s", + __func__, dbp, ifp->name); + } continue; } #endif