diff options
Diffstat (limited to 'proto/ospf/rt.c')
-rw-r--r-- | proto/ospf/rt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c index 5469bdcf..953a679a 100644 --- a/proto/ospf/rt.c +++ b/proto/ospf/rt.c @@ -1341,12 +1341,13 @@ static inline int match_rtlink(struct ospf_iface *ifa, struct ospf_lsa_rt_link *rtl) { #ifdef OSPFv2 - return (ifa->type == OSPF_IT_PTP) && (ifa->cost == rtl->metric) && + return ((ifa->type == OSPF_IT_PTP) || (ifa->type == OSPF_IT_PTMP)) && + (ifa->cost == rtl->metric) && (((ifa->addr->flags & IA_UNNUMBERED) ? ifa->iface->index : ipa_to_u32(ifa->addr->ip)) == rtl->data); #else /* OSPFv3 */ - return (ifa->type == OSPF_IT_PTP) && (ifa->cost == rtl->metric) && - (ifa->iface->index == rtl->lif); + return ((ifa->type == OSPF_IT_PTP) || (ifa->type == OSPF_IT_PTMP)) && + (ifa->cost == rtl->metric) && (ifa->iface->index == rtl->lif); #endif } |