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.
This commit is contained in:
Ondrej Zajicek (work) 2019-02-03 20:22:40 +01:00
parent 16605f2fda
commit a9b97cbcb7

View file

@ -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); length = ospf_pkt_hdrlen(p) + i * sizeof(struct ospf_lsa_header);
pkt->length = htons(length); 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); OSPF_PACKET(ospf_dump_lsack, pkt, "LSACK packet sent via %s", ifa->ifname);
if (ifa->type == OSPF_IT_BCAST) if (ifa->type == OSPF_IT_BCAST)