chiark / gitweb /
networkd: add Patch of MTU discovery for IPIP and GRE
[elogind.git] / src / network / networkd-netdev-tunnel.c
index 174fe234fd40406afce30e69322c3f96a8e73ae2..e5981a48d8d1adaacfc23e896633482e213dd660 100644 (file)
@@ -75,6 +75,14 @@ static int netdev_ipip_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_m
                 return r;
         }
 
+        r = sd_rtnl_message_append_u8(m, IFLA_IPTUN_PMTUDISC, t->pmtudisc);
+        if (r < 0) {
+                log_error_netdev(netdev,
+                                 "Could not append IFLA_IPTUN_PMTUDISC attribute: %s",
+                                 strerror(-r));
+                return r;
+        }
+
         return r;
 }
 
@@ -120,6 +128,14 @@ static int netdev_sit_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_me
                 return r;
         }
 
+        r = sd_rtnl_message_append_u8(m, IFLA_IPTUN_PMTUDISC, t->pmtudisc);
+        if (r < 0) {
+                log_error_netdev(netdev,
+                                 "Could not append IFLA_IPTUN_PMTUDISC attribute: %s",
+                                 strerror(-r));
+                return r;
+        }
+
         return r;
 }
 
@@ -173,6 +189,14 @@ static int netdev_gre_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_me
                 return r;
         }
 
+        r = sd_rtnl_message_append_u8(m, IFLA_GRE_PMTUDISC, t->pmtudisc);
+        if (r < 0) {
+                log_error_netdev(netdev,
+                                 "Could not append IFLA_GRE_PMTUDISC attribute: %s",
+                                 strerror(-r));
+                return r;
+        }
+
         return r;
 }