With release of systemd version 216, a number of bugs were corrected and configurations options added related to bonding support in systemd-networkd.
Here’s a basic example on setting up bonding in systemd:
/etc/systemd/network/bond0.network:
[Match]
Name=enp1*
[Network]
Bond=bond0
You can also specify the interfaces like enp1s0f[01] if you need to be more specific.
/etc/systemd/network/bond0.netdev:
[NetDev]
Name=bond0
Kind=bond
[Bond]
Mode=802.3ad
LACPTransmitRate=fast
MIIMonitorSec=1s
UpDelaySec=2s
DownDelaySec=8s
/etc/systemd/network/Management.network:
[Match]
Name=bond0
[Network]
Address=192.168.20.20/24
Gateway=192.168.20.1
DNS=8.8.8.8
Enable and start systemd-networkd:
systemctl enable systemd-networkd
systemctl start systemd-networkd
For more options, make sure to check out the systemd.network and systemd.netdev man pages.