networkd: add support for mode

This patch adds supports networkd to configure bond mode
during creation via persistent conf. Mode can be configured
with conf param 'Mode'. A new section Bond is added to the
conf to support bond mode.

These modes can be configured now.

balance-rr
active-backup
balance-xor
broadcast
802.3ad
balance-tlb
balance-alb

Example conf file: test-bond.conf
[NetDev]
Name=bond1
Kind=bond

[Bond]
Mode=balance-xor

Test case:
1. start networkd service:

12: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc
noqueue state UNKNOWN mode DEFAULT group default
link/ether 22:89:6c:47:23:d2 brd ff:ff:ff:ff:ff:ff

2. find bond mode:

cat /proc/net/bonding/bond1
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    Bonding Mode: load balancing (xor)
    Transmit Hash Policy: layer2 (0)
    MII Status: up
    MII Polling Interval (ms): 0
    Up Delay (ms): 0
    Down Delay (ms): 0

Changes:
       1. Added file networkd-bond.c
       2. Bond mode enum BondMode
       3. conf section [Bond]

[tomegun: whitespace]
This commit is contained in:
Susant Sahani
2014-07-07 21:52:01 +02:00
committed by Tom Gundersen
parent 948a6f8eb4
commit fe8ac65b68
6 changed files with 192 additions and 7 deletions
+24
View File
@@ -395,6 +395,30 @@
<literal>[Tun]</literal> section.</para>
</refsect1>
<refsect1>
<title>[Bond] Section Options</title>
<para>The <literal>[Bond]</literal> section accepts the following
key:</para>
<variablelist class='network-directives'>
<varlistentry>
<term><varname>Mode=</varname></term>
<listitem>
<para>Specifies one of the bonding policies. The default is balance-rr (round robin).
<literal>balance-rr</literal>
<literal>active-backup</literal>
<literal>balance-xor</literal>
<literal>broadcast</literal>
<literal>802.3ad</literal>
<literal>balance-tlb</literal>
<literal>balance-alb</literal>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Example</title>
<example>