summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_interface.c
diff options
context:
space:
mode:
authorpaul <paul>2006-03-30 14:20:00 +0000
committerpaul <paul>2006-03-30 14:20:00 +0000
commit1fcb05015ba5a97d2a5e152612af4484101fe850 (patch)
treed566069a034f56e1ac94a763e5867d2b12b33ce0 /ospfd/ospf_interface.c
parent6c2e6ae4999394f06ec9210a32689e4ae0e192bd (diff)
downloadquagga-1fcb05015ba5a97d2a5e152612af4484101fe850.tar.bz2
quagga-1fcb05015ba5a97d2a5e152612af4484101fe850.tar.xz
[ospfd] ignore loopbacks for received interface validation
2006-03-25 Paul Jakma <paul.jakma@sun.com> * 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 <landonf@opendarwin.org>. However, ospf_read() still can't deal deterministically with multiple interfaces in same subnet.
Diffstat (limited to 'ospfd/ospf_interface.c')
-rw-r--r--ospfd/ospf_interface.c3
1 files changed, 3 insertions, 0 deletions
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))
{