summaryrefslogtreecommitdiff
path: root/src/network/networkd-netdev-bond.c
diff options
context:
space:
mode:
authorSusant Sahani <susant@redhat.com>2014-07-21 19:14:48 +0530
committerTom Gundersen <teg@jklm.no>2014-07-21 20:35:21 +0200
commitd9c52fa045d53e2b802102114e9c557c43024eb5 (patch)
tree1c1a61ca99d4b6c7ebe3c6b6f1061c8918925a04 /src/network/networkd-netdev-bond.c
parentfb1021a26db14b199c50e3eed77a1daa371f282e (diff)
networkd: add support for bond options
The following bond options are supported by this patch. MIIMonitorSec: Specifies the frequency in milli-seconds that MII link monitoring will occur. UpDelaySec: Specifies the delay time in milli-seconds to enable a link after a link up status has been detected. DownDelaySec: Specifies the delay time in milli-seconds to disable a link after a link failure has been detected. changes: 1. Added gconf variables. 2. man page conf: [NetDev] Name=bond1 Kind=bond [Bond] Mode=802.3ad TransmitHashPolicy=layer2+3 LacpduTransmitRate=fast MIIMonitorSec=1s UpDelaySec=2s DownDelaySec=8s cat /proc/net/bonding/bond1 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 1000 Up Delay (ms): 2000 Down Delay (ms): 8000 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable bond bond1 has no active aggregator [tomegun: rephrased manpage, dropped bond_ prefix from variables]
Diffstat (limited to 'src/network/networkd-netdev-bond.c')
-rw-r--r--src/network/networkd-netdev-bond.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/network/networkd-netdev-bond.c b/src/network/networkd-netdev-bond.c
index e3f3333560..1f57083626 100644
--- a/src/network/networkd-netdev-bond.c
+++ b/src/network/networkd-netdev-bond.c
@@ -145,6 +145,36 @@ static int netdev_bond_fill_message_create(NetDev *netdev, Link *link, sd_rtnl_m
}
}
+ if (b->miimon != 0) {
+ r = sd_rtnl_message_append_u32(m, IFLA_BOND_MIIMON, b->miimon / 1000);
+ if (r < 0) {
+ log_error_netdev(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 / 1000);
+ if (r < 0) {
+ log_error_netdev(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 / 1000);
+ if (r < 0) {
+ log_error_netdev(netdev,
+ "Could not append IFLA_BOND_UPDELAY attribute: %s",
+ strerror(-r));
+ return r;
+ }
+ }
+
return 0;
}