diff --git a/libnetutil/netutil.cc b/libnetutil/netutil.cc index 8277ea5a2..0d4945e70 100644 --- a/libnetutil/netutil.cc +++ b/libnetutil/netutil.cc @@ -3189,6 +3189,8 @@ static int route_dst_netlink(const struct sockaddr_storage *dst, p = if_indextoname(intf_index, namebuf); assert(p != NULL); ii = getInterfaceByName(namebuf, dst->ss_family); + if (ii == NULL) + ii = getInterfaceByName(namebuf, AF_UNSPEC); if (ii == NULL) netutil_fatal("%s: can't find interface \"%s\"", __func__, namebuf); } else if (rtattr->rta_type == RTA_PREFSRC && rnfo->srcaddr.ss_family == AF_UNSPEC) {