summaryrefslogtreecommitdiffstats
path: root/proto/ospf/packet.c
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-05-24 17:51:27 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-05-24 17:51:27 +0200
commit8cc598a5205dbe46f5f249fa4f2de0586438965d (patch)
treed40083b380fdafd450e9afb4bb8bef47659ca1fb /proto/ospf/packet.c
parent050ceb867fbb96395c6f7d3207acbb5fe57b8d1c (diff)
downloadbird-8cc598a5205dbe46f5f249fa4f2de0586438965d.tar
bird-8cc598a5205dbe46f5f249fa4f2de0586438965d.zip
Ignore Hello packets from different IP network (than primary).
Diffstat (limited to 'proto/ospf/packet.c')
-rw-r--r--proto/ospf/packet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/proto/ospf/packet.c b/proto/ospf/packet.c
index 23785fe..783d28e 100644
--- a/proto/ospf/packet.c
+++ b/proto/ospf/packet.c
@@ -323,6 +323,9 @@ ospf_rx_hook(sock * sk, int size)
return 1;
}
+ /* This is deviation from RFC 2328 - neighbours should be identified by
+ * IP address on broadcast and NBMA networks.
+ */
n = find_neigh(ifa, ntohl(((struct ospf_packet *) ps)->routerid));
if(!n && (ps->type != HELLO_P))