From: Ondrej Filip Date: Mon, 19 Apr 2010 14:10:20 +0000 (+0200) Subject: It seems that prefixes /31 and /127 are valid and used in this strange world. X-Git-Tag: v1.2.3~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6bc414d619e1d8710990e89e5085d18e2d5c544c;p=thirdparty%2Fbird.git It seems that prefixes /31 and /127 are valid and used in this strange world. --- diff --git a/sysdep/linux/netlink/netlink.c b/sysdep/linux/netlink/netlink.c index f31ef9f71..aa0f2c45b 100644 --- a/sysdep/linux/netlink/netlink.c +++ b/sysdep/linux/netlink/netlink.c @@ -373,8 +373,7 @@ nl_parse_addr(struct nlmsghdr *h) memcpy(&ifa.ip, RTA_DATA(a[IFA_LOCAL] ? : a[IFA_ADDRESS]), sizeof(ifa.ip)); ipa_ntoh(ifa.ip); ifa.pxlen = i->ifa_prefixlen; - if (i->ifa_prefixlen > BITS_PER_IP_ADDRESS || - i->ifa_prefixlen == BITS_PER_IP_ADDRESS - 1) + if (i->ifa_prefixlen > BITS_PER_IP_ADDRESS) { log(L_ERR "KIF: Invalid prefix length for interface %s: %d", ifi->name, i->ifa_prefixlen); new = 0;