Shouldn't iface.addr_list[i].addr be also checked to be neither multicast nor unique local according to RFC4193?