chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rtnl: simplify route_new()
[elogind.git]
/
src
/
network
/
networkd-route.c
diff --git
a/src/network/networkd-route.c
b/src/network/networkd-route.c
index 1ea6237cc7e03f15eca7b639c3207d89e1c71997..f8580e93c8e9feaced5e0144454fca37bb0fd8ca 100644
(file)
--- 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);
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;
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;
}
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));
r = sd_rtnl_message_append(req, RTA_OIF, &link->ifindex);
if (r < 0) {
log_error("Could not append RTA_OIF attribute: %s", strerror(-r));