Whilst the networking scripts I wrote for baselayout and OpenRC are quite powerful, they do come at a price. Here’s some of the cons:

  • Slow - each net.foo loads every network module
  • Hard to extend - only I really know how the network modules work
  • Has own dependency code separate to OpenRC

So what’s the future? Well, the future is scrapping the network module idea and just supplying an init script that can be multiplexed for each network component. Yes, I hear your gnashing and grinding of teeth as what is there currently just works out of the box. What I propose will also work out of the box :)The network modules will not vanish over night, as there are some parts that will not be brought over such as the system or arping modules as they don’t make sense as init scripts. You can replicate the system module by configuring dhcpcd-5 per interface/ssid with a static configuration.When will this happen? Well, it will start to happen when dhcpcd-5 is released, which isn’t that far away. Why wait for dhcpcd-5? Glad you asked! dhcpcd-5 takes care of a lot of the network management for you. It now works as one daemon, not one per interface. It manages your routing table for you and allows DHCP created routes to be changed. The last feature is to pickup PTP interfaces and give them a default route to their destination address so that it integrates seamlessly with PPP and VPN clients.But what about the other DHCP clients- I want to use dhclient with ifplugd/wpa_supplicant.You have two options here- keep on using the exiting network modules or script ifplugd/wpa_supplicant yourself. Or use something else like NetworkManager.