summaryrefslogtreecommitdiff
path: root/src/network/networkd-route.c
diff options
context:
space:
mode:
authorSusant Sahani <ssahani@users.noreply.github.com>2016-11-24 03:02:19 +0530
committerLennart Poettering <lennart@poettering.net>2016-11-23 22:32:19 +0100
commitd6fceaf1f7ff765bdc3b135f3d3676ec689da312 (patch)
treec460650afe13fa5f2e6a95373afa32355daf9bcc /src/network/networkd-route.c
parent99245111ac4b2b4275c8caeb03c14f7870afbb85 (diff)
networkd: handle MTU field in IPv6 RA (#4719)
This patch handles the custom MTU field in IPv6 RA. fixes RFE #4464
Diffstat (limited to 'src/network/networkd-route.c')
-rw-r--r--src/network/networkd-route.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
index f78e106991..bde26a42d4 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -605,6 +605,20 @@ int route_configure(
if (r < 0)
return log_error_errno(r, "Could not append RTA_OIF attribute: %m");
+ r = sd_netlink_message_open_container(req, RTA_METRICS);
+ if (r < 0)
+ return log_error_errno(r, "Could not append RTA_METRICS attribute: %m");
+
+ if (route->mtu > 0) {
+ r = sd_netlink_message_append_u32(req, RTAX_MTU, route->mtu);
+ if (r < 0)
+ return log_error_errno(r, "Could not append RTAX_MTU attribute: %m");
+ }
+
+ r = sd_netlink_message_close_container(req);
+ if (r < 0)
+ return log_error_errno(r, "Could not append RTA_METRICS attribute: %m");
+
r = sd_netlink_call_async(link->manager->rtnl, req, callback, link, 0, NULL);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");