diff options
Diffstat (limited to 'src/network/networkd-route.c')
-rw-r--r-- | src/network/networkd-route.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 1ea6237cc7..f8580e93c8 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -86,9 +86,7 @@ int route_configure(Route *route, Link *link, assert(link->ifindex > 0); assert(route->family == AF_INET || route->family == AF_INET6); - r = sd_rtnl_message_route_new(RTM_NEWROUTE, route->family, route->dst_prefixlen, - 0, 0, RT_TABLE_MAIN, RT_SCOPE_UNIVERSE, - RTPROT_BOOT, RTN_UNICAST, 0, &req); + r = sd_rtnl_message_route_new(RTM_NEWROUTE, route->family, &req); if (r < 0) { log_error("Could not create RTM_NEWROUTE message: %s", strerror(-r)); return r; @@ -106,6 +104,12 @@ int route_configure(Route *route, Link *link, return r; } + r = sd_rtnl_message_route_set_dst_prefixlen(req, route->dst_prefixlen); + if (r < 0) { + log_error("Could not set destination prefix length: %s", strerror(-r)); + return r; + } + r = sd_rtnl_message_append(req, RTA_OIF, &link->ifindex); if (r < 0) { log_error("Could not append RTA_OIF attribute: %s", strerror(-r)); |