networkd: add support for mode
authorSusant Sahani <susant@redhat.com>
Fri, 4 Jul 2014 17:05:02 +0000 (22:35 +0530)
committerTom Gundersen <teg@jklm.no>
Mon, 7 Jul 2014 19:52:01 +0000 (21:52 +0200)
commitfe8ac65b683ec7408b26ba40040134e6d66b1c5c
tree7254c1e0b945ecd2bf80ffd91be54cf3d0991348
parent948a6f8eb42c85d2b96e9b5817fcfa29ad4752ae
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]
Makefile.am
man/systemd.netdev.xml
src/network/networkd-bond.c [new file with mode: 0644]
src/network/networkd-netdev-gperf.gperf
src/network/networkd-netdev.c
src/network/networkd.h