diff options
Diffstat (limited to 'ospfd')
| -rw-r--r-- | ospfd/ChangeLog | 10 | ||||
| -rw-r--r-- | ospfd/ospf_interface.c | 3 | 
2 files changed, 13 insertions, 0 deletions
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 <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 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))  	{  | 
