diff --git a/libnetutil/netutil.cc b/libnetutil/netutil.cc index 3a502686a..91b471eed 100644 --- a/libnetutil/netutil.cc +++ b/libnetutil/netutil.cc @@ -1622,6 +1622,7 @@ static int collect_dnet_routes(const struct route_entry *entry, void *arg) { addr_ntos(&entry->route_dst, (struct sockaddr *) &dcrn->routes[dcrn->numroutes].dest); dcrn->routes[dcrn->numroutes].netmask_bits = entry->route_dst.addr_bits; addr_ntos(&entry->route_gw, (struct sockaddr *) &dcrn->routes[dcrn->numroutes].gw); + dcrn->routes[dcrn->numroutes].metric = entry->metric; dcrn->routes[dcrn->numroutes].device = getInterfaceByName(entry->intf_name, dcrn->routes[dcrn->numroutes].dest.ss_family); dcrn->numroutes++; diff --git a/libnetutil/netutil.h b/libnetutil/netutil.h index 454493611..52984983b 100644 --- a/libnetutil/netutil.h +++ b/libnetutil/netutil.h @@ -299,6 +299,7 @@ struct sys_route { struct sockaddr_storage dest; u16 netmask_bits; struct sockaddr_storage gw; /* gateway - 0 if none */ + int metric; }; struct eth_nfo {