summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/router.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/router.c b/src/router.c
index c715757..2f02147 100644
--- a/src/router.c
+++ b/src/router.c
@@ -359,6 +359,7 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
time_t now = odhcpd_time();
int mtu = iface->ra_mtu;
int hlim = iface->ra_hoplimit;
+ char buf[INET6_ADDRSTRLEN];
if (mtu == 0)
mtu = odhcpd_get_interface_config(iface->ifname, "mtu");
@@ -448,11 +449,9 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
uint32_t valid = 0;
if (addr->prefix > 96 || addr->valid <= (uint32_t)now) {
- char namebuf[INET6_ADDRSTRLEN];
-
- inet_ntop(AF_INET6, &addr->addr.in6, namebuf, sizeof(namebuf));
syslog(LOG_INFO, "Address %s (prefix %d, valid %u) not suitable as RA prefix on %s",
- namebuf, addr->prefix, addr->valid, iface->ifname);
+ inet_ntop(AF_INET6, &addr->addr.in6, buf, sizeof(buf)), addr->prefix,
+ addr->valid, iface->ifname);
continue;
}
@@ -596,8 +595,13 @@ static uint64_t send_router_advert(struct interface *iface, const struct in6_add
for (ssize_t i = 0; i < ipcnt; ++i) {
struct odhcpd_ipaddr *addr = &addrs[i];
- if (addr->dprefix > 64 || addr->dprefix == 0 || addr->valid <= (uint32_t)now)
+ if (addr->dprefix > 64 || addr->dprefix == 0 || addr->valid <= (uint32_t)now) {
+ syslog(LOG_INFO, "Address %s (dprefix %d, valid %u) not suitable as RA route on %s",
+ inet_ntop(AF_INET6, &addr->addr.in6, buf, sizeof(buf)),
+ addr->dprefix, addr->valid, iface->ifname);
+
continue; /* Address not suitable */
+ }
if (odhcpd_bmemcmp(&addr->addr, &iface->pio_filter_addr,
iface->pio_filter_length) != 0 ||