From: Ondrej Zajicek (work) Date: Sun, 3 Feb 2019 19:22:40 +0000 (+0100) Subject: OSPF: Send direct acknowledgements as unicast X-Git-Tag: v2.0.4~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a9b97cbcb74d918f3f606eb87a506712dccd2832;p=thirdparty%2Fbird.git 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. --- diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c index 251b5e47c..9198dd929 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)