dnssd and avahi fix

Doesn't work with IF_LOCAL. Copied from 'old' impl