summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/odhcpd.c13
-rw-r--r--src/router.c10
2 files changed, 14 insertions, 9 deletions
diff --git a/src/odhcpd.c b/src/odhcpd.c
index e83a700..6a3ba86 100644
--- a/src/odhcpd.c
+++ b/src/odhcpd.c
@@ -219,8 +219,10 @@ ssize_t odhcpd_get_interface_addresses(int ifindex,
struct ifaddrmsg ifa;
} req = {{sizeof(req), RTM_GETADDR, NLM_F_REQUEST | NLM_F_DUMP,
++rtnl_seq, 0}, {AF_INET6, 0, 0, 0, ifindex}};
- if (send(rtnl_socket, &req, sizeof(req), 0) < (ssize_t)sizeof(req))
+ if (send(rtnl_socket, &req, sizeof(req), 0) < (ssize_t)sizeof(req)) {
+ syslog(LOG_WARNING, "Request failed to dump IPv6 addresses (%s)", strerror(errno));
return 0;
+ }
uint8_t buf[8192];
ssize_t len = 0, ret = 0;
@@ -232,13 +234,16 @@ ssize_t odhcpd_get_interface_addresses(int ifindex,
if (len < 0 || !NLMSG_OK(nhm, (size_t)len)) {
if (errno == EINTR)
continue;
- else
- return ret;
+
+ syslog(LOG_WARNING, "Failed to receive IPv6 address rtnetlink message (%s)", strerror(errno));
+ return ret;
}
}
- if (nhm->nlmsg_type != RTM_NEWADDR)
+ if (nhm->nlmsg_type != RTM_NEWADDR) {
+ syslog(LOG_WARNING, "Unexpected rtnetlink message (%d) in response to IPv6 address dump", nhm->nlmsg_type);
break;
+ }
// Skip address but keep clearing socket buffer
if (ret >= (ssize_t)cnt)
diff --git a/src/router.c b/src/router.c
index c410a9c..37ba14f 100644
--- a/src/router.c
+++ b/src/router.c
@@ -263,8 +263,8 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
else if (parse_routes(addrs, ipcnt))
adv.h.nd_ra_router_lifetime = htons(1);
- syslog(LOG_INFO, "Initial router lifetime %d, %d address(es) available",
- ntohs(adv.h.nd_ra_router_lifetime), (int)ipcnt);
+ syslog(LOG_INFO, "Initial RA router lifetime %d, %d address(es) available on %s",
+ ntohs(adv.h.nd_ra_router_lifetime), (int)ipcnt, iface->ifname);
}
// Construct Prefix Information options
@@ -282,8 +282,8 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
char namebuf[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, addr, namebuf, sizeof(namebuf));
- syslog(LOG_INFO, "Address %s (prefix %d, valid %u) not suitable",
- namebuf, addr->prefix, addr->valid);
+ syslog(LOG_INFO, "Address %s (prefix %d, valid %u) not suitable as RA prefix on %s",
+ namebuf, addr->prefix, addr->valid, iface->ifname);
continue;
}
@@ -314,7 +314,7 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
&& ntohs(adv.h.nd_ra_router_lifetime) < this_lifetime) {
adv.h.nd_ra_router_lifetime = htons(this_lifetime);
- syslog(LOG_DEBUG, "Updating router lifetime to %d", this_lifetime);
+ syslog(LOG_INFO, "Updating RA router lifetime to %d on %s", this_lifetime, iface->ifname);
}
odhcpd_bmemcpy(&p->nd_opt_pi_prefix, &addr->addr,