diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 14:20:00 +0000 |
|---|---|---|
| committer | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 14:20:00 +0000 |
| commit | 1a8ee0ec18ac280fda9362259d362805ce62be7d (patch) | |
| tree | 2d29cc46074d35940ebc613a0eeecb6ab8ffb4a3 /ospfd/ospf_interface.c | |
| parent | c2b478d7a4fae2eb2f7f895b80d36af9c8e73ab0 (diff) | |
[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.c | 3 |
1 files changed, 3 insertions, 0 deletions
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)) { |
