Akadata Linux · Version 0 Saphira

Network configuration

Configure networking on Akadata Linux: /etc/network.d config files, static and DHCP IPv4/IPv6, Open vSwitch integration, and the OpenRC network service family.

Saphira, the Akadata Linux Version 0 mascot
Technical preview

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 bridge

Each 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: physical for a hardware NIC, ovs for an Open vSwitch bridge port (see below).
  • INTERFACE: The kernel interface name — eth0, enp1s0, ovs-br0. Use ip link show to 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=off

IPV4_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=off

DNS 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=off

For 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 show

Place 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-status

The 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 restart

If 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.