Skip to content

iface netlink

Thomas Mangin edited this page Apr 8, 2026 · 1 revision

Pre-Alpha. This page describes behavior that may change.

Netlink backend for the iface component. Default on Linux. Handles interface lifecycle, address management, bridges, VLANs, sysctl tuning, and traffic mirroring through pure netlink (no iproute2 shell-outs).

Category

Infrastructure.

Configuration

Selected implicitly as the default backend on Linux. No explicit configuration is needed unless you want to override the backend selection.

interface {
    backend netlink;           # Default
}

Behaviour

The plugin implements the 34-method Backend interface that iface uses to manipulate interfaces: create, delete, bring up, bring down, add address, remove address, configure a sysctl, enable STP, add a bridge member, set up traffic mirroring, and so on. Every operation goes through the Go vishvananda/netlink library and talks to the kernel directly.

It also runs the netlink multicast monitor that publishes bus events for every interface and address change, which is how the BGP reactor, the DHCP plugin, and the rest of the system react to link and address transitions.

Interactions

  • Loaded by the iface component when the backend leaf is netlink (the default on Linux).
  • iface-dhcp uses this plugin's address operations to install DHCP leases.
  • The BGP reactor subscribes to the monitor's bus events.

Source

main/internal/plugins/ifacenetlink/

Home

About

First Steps

Configuration

Operation

Interfaces

Plugins

Plugin Development

Chaos Testing

Blueprints

Development

Reference

Clone this wiki locally