struct ntp_addr, which just wraps a sockaddr_storage and a next pointer, so that host_dns can return more than one entry. let host_dns do exactly that, return a list of all IPs for that hostname adjust all callers in the grammar to cope with that