Init guide — Network
Network configuration
Akadata networking is configured through files in /etc/network.d/. Each file represents one interface. The legacy /etc/network.conf is a single‑interface fallback used only when the network.d directory contains no *.conf files. New configurations belong in /etc/network.d/.
The network is applied by the /etc/init.d/network OpenRC service, which calls /sbin/akadata-network-config. This is a shell‑script network manager — no NetworkManager, no systemd-networkd, no netifrc. One script, one set of config files, one result.
Configuration syntax
/etc/network.d/name.conf
Create one file per interface. Files are processed in lexical order — name them with a numeric prefix if ordering matters:
/etc/network.d/
├── 10-eth0.conf # Primary interface
├── 20-eth1.conf # Secondary interface
└── 30-ovs-br0.conf # Open vSwitch bridgeEach file uses a simple KEY=value syntax. A blank line separates interface blocks when a single file defines more than one — though the recommended practice is one file per interface.
Required fields
TYPE=physical
INTERFACE=eth0- TYPE:
physicalfor a hardware NIC,ovsfor an Open vSwitch bridge port (see below). - INTERFACE: The kernel interface name —
eth0,enp1s0,ovs-br0. Useip link showto list available interfaces.
IPv4 configuration
# Static IPv4
IPV4_MODE=static
IPV4_CIDR=172.16.2.77/24
IPV4_GATEWAY=172.16.2.1
IPV4_METRIC=
# DHCP
IPV4_MODE=dhcp
IPV4_CIDR=
IPV4_GATEWAY=
IPV4_METRIC=
# Off (interface up but no address)
IPV4_MODE=offIPV4_METRIC sets the routing metric for the default gateway on this interface — leave it empty unless you need explicit multi‑homed route preference. Only one interface should carry the default gateway; leave the gateway empty on secondary interfaces.
IPv6 configuration
# Static IPv6
IPV6_MODE=static
IPV6_CIDR=2001:db8::10/64
IPV6_GATEWAY=2001:db8::1
IPV6_METRIC=
# DHCPv6
IPV6_MODE=dhcp
# Off
IPV6_MODE=offDNS servers
DNS_SERVERS="172.16.2.53 2001:db8::53"A space‑separated list of name servers. Written to /etc/resolv.conf when networking starts. The last interface processed wins if more than one sets DNS_SERVERS — place your primary interface last in lexical order.
Complete example
TYPE=physical
INTERFACE=eth0
IPV4_MODE=static
IPV4_CIDR=172.16.2.77/24
IPV4_GATEWAY=172.16.2.1
IPV4_METRIC=
IPV6_MODE=off
IPV6_CIDR=
IPV6_GATEWAY=
IPV6_METRIC=
DNS_SERVERS="172.16.2.53"Open vSwitch
OVS integration
Open vSwitch is an optional stage4 package — install it if your deployment uses software‑defined networking. When openvswitch is selected, the /etc/init.d/openvswitch service starts before the network service, and interfaces of type ovs are supported.
TYPE=ovs
INTERFACE=ovs-br0
IPV4_MODE=static
IPV4_CIDR=10.0.0.1/24
IPV4_GATEWAY=10.0.0.254
IPV4_METRIC=
IPV6_MODE=offFor TYPE=ovs, the network script creates or confirms the OVS bridge and attaches the interface. Physical NICs that serve as bridge ports are configured separately with ovs-vsctl:
ovs-vsctl add-br ovs-br0
ovs-vsctl add-port ovs-br0 eth0
ovs-vsctl showPlace persistent OVS bridge and port configuration in /etc/init.d/local or create a dedicated OpenRC service that runs before network. The openvswitch service initialises the ovs-vswitchd and ovsdb-server daemons; the bridge and port topology is the administrator's responsibility.
Service ecosystem
The network service family
network
/etc/init.d/network
Calls /sbin/akadata-network-config to apply the configuration files. Depends on localmount (filesystems must be ready before configuring interfaces). Provides the virtual net service — other daemons declare need net to wait for it.
net-online
/etc/init.d/net-online
Blocks until at least one non‑loopback interface has a routable address. Daemons that must not start until the network is genuinely reachable — DNS resolvers, NTP clients — depend on net-online rather than net alone.
loopback
/etc/init.d/loopback
Brings up the lo interface from the shipped /etc/network.d/00-loopback.conf (127.0.0.1/8). Runs early in the boot runlevel, before any physical interface is configured.
netmount
/etc/init.d/netmount
Mounts network filesystems after the network is configured. Depends on net. Present in the default runlevel for NFS and similar mounts — Saphira does not ship NFS, but the mount framework exists and the service is ready when you add it.
Applying changes
Test and apply
After editing the configuration files, restart the network service:
rc-service network restart
rc-statusThe network service stops all configured interfaces and brings them back up with the new configuration. SSH connections over the interface being restarted will drop — use a console connection (agetty on tty1) or a secondary interface if you are editing remotely.
# Safe remote workflow:
# 1. Edit /etc/network.d/10-eth0.conf
# 2. Test in a screen/tmux session so the command keeps running
rc-service network restartIf the configuration is broken, the service will report the failure. Correct the file and restart. The old configuration is not preserved — the network service reads the files as they exist at the moment it runs.
