X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-route.c;h=00fd9528c48586dee2cef4daa9e2efa3a208fe43;hb=28cc555d8504c9429776aedbbe1fee7101258578;hp=8949299409f476aead74fca52037049b309a60fd;hpb=82eb1e7efbe3ca8620d2b183af37c4fd34bf8bb3;p=elogind.git diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 894929940..00fd9528c 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -49,6 +49,7 @@ int route_new_static(Network *network, unsigned section, Route **ret) { route->family = AF_UNSPEC; route->scope = RT_SCOPE_UNIVERSE; + route->protocol = RTPROT_STATIC; route->network = network; @@ -65,7 +66,7 @@ int route_new_static(Network *network, unsigned section, Route **ret) { return 0; } -int route_new_dynamic(Route **ret) { +int route_new_dynamic(Route **ret, unsigned char rtm_protocol) { _cleanup_route_free_ Route *route = NULL; route = new0(Route, 1); @@ -74,6 +75,7 @@ int route_new_dynamic(Route **ret) { route->family = AF_UNSPEC; route->scope = RT_SCOPE_UNIVERSE; + route->protocol = rtm_protocol; *ret = route; route = NULL; @@ -108,7 +110,8 @@ int route_drop(Route *route, Link *link, assert(route->family == AF_INET || route->family == AF_INET6); r = sd_rtnl_message_new_route(link->manager->rtnl, &req, - RTM_DELROUTE, route->family); + RTM_DELROUTE, route->family, + route->protocol); if (r < 0) { log_error("Could not create RTM_DELROUTE message: %s", strerror(-r)); return r; @@ -181,7 +184,8 @@ int route_configure(Route *route, Link *link, assert(route->family == AF_INET || route->family == AF_INET6); r = sd_rtnl_message_new_route(link->manager->rtnl, &req, - RTM_NEWROUTE, route->family); + RTM_NEWROUTE, route->family, + route->protocol); if (r < 0) { log_error("Could not create RTM_NEWROUTE message: %s", strerror(-r)); return r;