From a811fb8b377268566704514e2b05d1b9cb98e5ac Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 17 Sep 2019 19:13:09 +0200 Subject: [PATCH] networkd: make neighbor_hash_func() handle the same data as neighbor_compare_func() In practice this probably makes little difference, because we only use AF_INET and AF_INET6, but it's cleaner to use the same logic in both places. --- src/network/networkd-neighbor.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c index 537f6be..fd61ebd 100644 --- a/src/network/networkd-neighbor.c +++ b/src/network/networkd-neighbor.c @@ -209,18 +209,20 @@ static void neighbor_hash_func(const Neighbor *neighbor, struct siphash *state) assert(neighbor); siphash24_compress(&neighbor->family, sizeof(neighbor->family), state); + siphash24_compress(&neighbor->lladdr_size, sizeof(neighbor->lladdr_size), state); switch (neighbor->family) { case AF_INET: case AF_INET6: /* Equality of neighbors are given by the pair (addr,lladdr) */ siphash24_compress(&neighbor->in_addr, FAMILY_ADDRESS_SIZE(neighbor->family), state); - siphash24_compress(&neighbor->lladdr, neighbor->lladdr_size, state); break; default: /* treat any other address family as AF_UNSPEC */ break; } + + siphash24_compress(&neighbor->lladdr, neighbor->lladdr_size, state); } static int neighbor_compare_func(const Neighbor *a, const Neighbor *b) { -- 2.7.4