chiark / gitweb /
importd: create a loopback btrfs file system for /var/lib/machines, if necessary
[elogind.git] / src / network / networkd-netdev-bond.c
index e3f3333560c00f47d6e934032c587409c8b97d2e..c9115516fdfb0bdce3d55434026b20e2d3ee4125 100644 (file)
@@ -21,7 +21,6 @@
 ***/
 
 #include <netinet/ether.h>
-#include <arpa/inet.h>
 #include <linux/if_bonding.h>
 
 #include "conf-parser.h"
@@ -116,7 +115,7 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_m
                 r = sd_rtnl_message_append_u8(m, IFLA_BOND_MODE,
                                               bond_mode_to_kernel(b->mode));
                 if (r < 0) {
-                        log_error_netdev(netdev,
+                        log_netdev_error(netdev,
                                          "Could not append IFLA_BOND_MODE attribute: %s",
                                          strerror(-r));
                         return r;
@@ -127,7 +126,7 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_m
                 r = sd_rtnl_message_append_u8(m, IFLA_BOND_XMIT_HASH_POLICY,
                                               bond_xmit_hash_policy_to_kernel(b->xmit_hash_policy));
                 if (r < 0) {
-                        log_error_netdev(netdev,
+                        log_netdev_error(netdev,
                                          "Could not append IFLA_BOND_XMIT_HASH_POLICY attribute: %s",
                                          strerror(-r));
                         return r;
@@ -138,13 +137,43 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_m
             b->mode == NETDEV_BOND_MODE_802_3AD) {
                 r = sd_rtnl_message_append_u8(m, IFLA_BOND_AD_LACP_RATE, b->lacp_rate );
                 if (r < 0) {
-                        log_error_netdev(netdev,
+                        log_netdev_error(netdev,
                                          "Could not append IFLA_BOND_AD_LACP_RATE attribute: %s",
                                          strerror(-r));
                         return r;
                 }
         }
 
+        if (b->miimon != 0) {
+                r = sd_rtnl_message_append_u32(m, IFLA_BOND_MIIMON, b->miimon / USEC_PER_MSEC);
+                if (r < 0) {
+                        log_netdev_error(netdev,
+                                         "Could not append IFLA_BOND_BOND_MIIMON attribute: %s",
+                                         strerror(-r));
+                        return r;
+                }
+        }
+
+        if (b->downdelay != 0) {
+                r = sd_rtnl_message_append_u32(m, IFLA_BOND_DOWNDELAY, b->downdelay / USEC_PER_MSEC);
+                if (r < 0) {
+                        log_netdev_error(netdev,
+                                         "Could not append IFLA_BOND_DOWNDELAY attribute: %s",
+                                         strerror(-r));
+                        return r;
+                }
+        }
+
+        if (b->updelay != 0) {
+                r = sd_rtnl_message_append_u32(m, IFLA_BOND_UPDELAY, b->updelay / USEC_PER_MSEC);
+                if (r < 0) {
+                        log_netdev_error(netdev,
+                                         "Could not append IFLA_BOND_UPDELAY attribute: %s",
+                                         strerror(-r));
+                        return r;
+                }
+        }
+
         return 0;
 }