netbirdio/netbird · error

create v6 router: %w

Error message

create v6 router: %w

What it means

Error "create v6 router: %w" thrown in netbirdio/netbird.

Source

Thrown at client/firewall/nftables/manager_linux.go:105

	if wgIface.Address().HasIPv6() {
		if err := m.createIPv6Components(tableName, wgIface, mtu); err != nil {
			return nil, fmt.Errorf("create IPv6 firewall: %w", err)
		}
	}

	m.extMonitor = newExternalChainMonitor(m)

	return m, nil
}

func (m *Manager) createIPv6Components(tableName string, wgIface iFaceMapper, mtu uint16) error {
	workTable6 := &nftables.Table{Name: tableName, Family: nftables.TableFamilyIPv6}

	var err error
	m.router6, err = newRouter(workTable6, wgIface, mtu)
	if err != nil {
		return fmt.Errorf("create v6 router: %w", err)
	}

	// Share the per-family forwarding refcounter with the v4 router so a v4
	// rule and a v6 rule against the same state machine cooperate cleanly.
	m.router6.ipFwdState = m.router.ipFwdState

	m.aclManager6, err = newAclManager(workTable6, wgIface, chainNameRoutingFw)
	if err != nil {
		return fmt.Errorf("create v6 acl manager: %w", err)
	}

	return nil
}

// hasIPv6 reports whether the manager has IPv6 components initialized.
func (m *Manager) hasIPv6() bool {
	return m.router6 != nil
}

View on GitHub (pinned to 93e97f4bf1)

When it happens

Trigger: Thrown at client/firewall/nftables/manager_linux.go:105 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of netbirdio/netbird@93e97f4bf1 (2026-08-16). Data as JSON: /api/errors/c8b8e49dc8ca3443. Report an issue: GitHub.