network: manage addresses in the way the kernel does
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 28 Nov 2022 18:20:33 +0000 (03:20 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Wed, 7 Dec 2022 14:10:45 +0000 (15:10 +0100)
commit42f8b6a80878e688b821adfb315c0a1f0a7076ce
treeff59e102251ded0c6361c989ddfe99af1554a1c0
parentb448fc0a6f6752ef2faa3907422e0034d5e6d8a3
network: manage addresses in the way the kernel does

This effectively reverts 5d0030310c134a016321ad8cf0b4ede8b1800d84.

With the commit 5d0030310c134a016321ad8cf0b4ede8b1800d84, networkd manages
addresses with the detailed hash and compare functions. But that causes
networkd cannot detect address update by the kernel or an external tool.
See issue
https://github.com/systemd/systemd/issues/481#issuecomment-1328132401.

With this commit, networkd (again) manages addresses in the way that the
kernel does. Hence, we can correctly detect address update.
src/network/networkd-address.c
src/network/networkd-address.h
src/network/networkd-dhcp6.c
src/network/test-network.c