In a new install of archlinux - 3.18.9-2 I found that static IP was not working properly using netctl. It would always configure a DHCP address as well as static if static was defined in /etc/netctl/eth0.
I came to find out that there was a file in /etc/systemd/network named 'eth0.network' defining 'dhcp=both'
Exactly how that file got there I don't know as it was not in a beaglebone black install of kernel 3.16 era.
This was assigning a DHCP address and then netctl was assigning a static IP address as defined in /etc/netctl/eth0 Both addresses worked and were listed in 'ip addr show'
My question in all this is what is the best way to init DHCP/Static wired/wireless IP at boot. I suspect the answer is netctl after getting networkd out of the way by not defining anything for the interface in its configure directories.
I did find networkd to be faster - ip address assignment seemed quicker at boot vs doing it in netctl.
What is the case for doing it in one vs. the other? Are there any docs that explain this?