From a9b97cbcb74d918f3f606eb87a506712dccd2832 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Sun, 3 Feb 2019 20:22:40 +0100 Subject: [PATCH] OSPF: Send direct acknowledgements as unicast Direct acknowledgements should be send as unicast to a corresponding neighbor. Only delayed acks should be send as multicast to all/designated routers. --- proto/ospf/lsack.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c index 251b5e47..9198dd92 100644 --- a/proto/ospf/lsack.c +++ b/proto/ospf/lsack.c @@ -106,6 +106,13 @@ ospf_send_lsack_(struct ospf_proto *p, struct ospf_neighbor *n, int queue) length = ospf_pkt_hdrlen(p) + i * sizeof(struct ospf_lsa_header); pkt->length = htons(length); + if (queue == ACKL_DIRECT) + { + OSPF_PACKET(ospf_dump_lsack, pkt, "LSACK packet sent to nbr %R on %s", n->rid, ifa->ifname); + ospf_send_to(ifa, n->ip); + return; + } + OSPF_PACKET(ospf_dump_lsack, pkt, "LSACK packet sent via %s", ifa->ifname); if (ifa->type == OSPF_IT_BCAST)