/* Register interface address to the interface. */
if (ifa->ifa_family == AF_INET) {
if (ifa->ifa_prefixlen > IPV4_MAX_BITLEN) {
- zlog_warn(
+ zlog_err(
"Invalid prefix length: %u received from kernel interface addr change: %u",
ifa->ifa_prefixlen, h->nlmsg_type);
- return 0;
+ return -1;
}
if (h->nlmsg_type == RTM_NEWADDR)
connected_add_ipv4(ifp, flags, (struct in_addr *)addr,
}
if (ifa->ifa_family == AF_INET6) {
if (ifa->ifa_prefixlen > IPV6_MAX_BITLEN) {
- zlog_warn(
+ zlog_err(
"Invalid prefix length: %u received from kernel interface addr change: %u",
ifa->ifa_prefixlen, h->nlmsg_type);
- return 0;
+ return -1;
}
if (h->nlmsg_type == RTM_NEWADDR) {
/* Only consider valid addresses; we'll not get a
if (rtm->rtm_family == AF_INET) {
p.family = AF_INET;
if (rtm->rtm_dst_len > IPV4_MAX_BITLEN) {
- zlog_warn(
+ zlog_err(
"Invalid destination prefix length: %u received from kernel route change",
rtm->rtm_dst_len);
- return 0;
+ return -1;
}
memcpy(&p.u.prefix4, dest, 4);
p.prefixlen = rtm->rtm_dst_len;
} else if (rtm->rtm_family == AF_INET6) {
p.family = AF_INET6;
if (rtm->rtm_dst_len > IPV6_MAX_BITLEN) {
- zlog_warn(
+ zlog_err(
"Invalid destination prefix length: %u received from kernel route change",
rtm->rtm_dst_len);
- return 0;
+ return -1;
}
memcpy(&p.u.prefix6, dest, 16);
p.prefixlen = rtm->rtm_dst_len;
src_p.family = AF_INET6;
if (rtm->rtm_src_len > IPV6_MAX_BITLEN) {
- zlog_warn(
+ zlog_err(
"Invalid source prefix length: %u received from kernel route change",
rtm->rtm_src_len);
- return 0;
+ return -1;
}
memcpy(&src_p.prefix, src, 16);
src_p.prefixlen = rtm->rtm_src_len;