diff options
Diffstat (limited to 'proto/ospf/ospf.h')
-rw-r--r-- | proto/ospf/ospf.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h index 74a8e316..664bc48f 100644 --- a/proto/ospf/ospf.h +++ b/proto/ospf/ospf.h @@ -587,6 +587,10 @@ lsa_get_ipv6_prefix(u32 *buf, ip_addr *addr, int *pxlen, u8 *pxopts, u16 *rest) if (pxl > 96) _I3(*addr) = *buf++; + /* Clean up remaining bits */ + if (pxl < 128) + addr->addr[pxl / 32] &= u32_mkmask(pxl % 32); + return buf; } |