[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.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 9f17a3a..e5aa066 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,13 @@
+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.
+
 2006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
 
 	* ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order 
diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c
index 82c4bae..8df0280 100644
--- a/ospfd/ospf_interface.c
+++ b/ospfd/ospf_interface.c
@@ -474,6 +474,9 @@
       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))
 	{