From 1a8ee0ec18ac280fda9362259d362805ce62be7d Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Thu, 30 Mar 2006 14:20:00 +0000 Subject: [ospfd] ignore loopbacks for received interface validation 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. --- ospfd/ChangeLog | 10 ++++++++++ ospfd/ospf_interface.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 9f17a3a4..e5aa0660 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 82c4baee..8df0280a 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)) { -- cgit v1.2.1