diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 9f17a3a4fc..e5aa0660d3 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,13 @@ +2006-03-25 Paul Jakma + + * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks, + we can never ever receive packets on those. Should fix + case where CARP is run with address in same subnet as real + interface. Problem report and diagnosis thanks to: + Landon Fuller . + However, ospf_read() still can't deal deterministically with + multiple interfaces in same subnet. + 2006-03-23 Steve Lawson * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index 82c4baee91..8df0280a9a 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -474,6 +474,9 @@ ospf_if_lookup_recv_if (struct ospf *ospf, struct in_addr src) if (oi->type == OSPF_IFTYPE_VIRTUALLINK) continue; + if (if_is_loopback (oi->ifp)) + continue; + if ((oi->type == OSPF_IFTYPE_POINTOPOINT) && CONNECTED_DEST_HOST(oi->connected)) {