rpcd-mod-luci: Return array of addresses in getHostHints
authorNiels Widger <niels@qacafe.com>
Mon, 1 Mar 2021 19:33:33 +0000 (14:33 -0500)
committerJo-Philipp Wich <jo@mein.io>
Thu, 3 Jun 2021 07:51:09 +0000 (09:51 +0200)
commita5195e7825cbbc3942ca6e571ae0020c1cf080c4
tree7abe877e9d338f0e0a4b08664c67591b8ccdbc7d
parent2b11ec6fd02be060443cf4afc9d89058aadcfab3
rpcd-mod-luci: Return array of addresses in getHostHints

Update luci-rpc's getHostHints method to return two string arrays for
each host, `ipaddrs` and `ip6addrs`, each containing the host's IPv4
and IPv6 addresses, respectively.  Each array is sorted by a priority
derived from the source from which the address was discovered.  The
current address sources and their priority is as follows (a
higher (larger) priority is listed first):

    - neighbor table entries: 10
    - /etc/ethers entries:    50
    - DHCP leasefile:        100
    - RRDNS queries:         100
    - getifaddrs():          200
    - UCI static leases:     200

The existing `ipv4` and `ipv6` string fields for each host in
`getHostHints` has been removed.  Downstream users of getHostHints
still need to be updated.

Fixes: #4838
Signed-off-by: Niels Widger <niels@qacafe.com>
[squash commits, reformat fixes tag]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
libs/rpcd-mod-luci/src/luci.c