Skip to content

Changing the loopback type from vpnv4 to ipv4 causes controller errors #3064

@thijsvanemmerik

Description

@thijsvanemmerik

A contributor accidentally set up Loopback256 as vpnv4 type. Then they changed it to ipv4 later on. This resulted in controller errors:

2026-02-20 21:48:11.101 warn {
  "time": "2026-02-20T20:48:11.101903108Z",
  "level": "WARN",
  "msg": "device has pathology",
  "mode": "no-tls",
  "device_pubkey": "FwWis5rJD6ByvJmGYcfapYuHHB4B5pgFXpz2zMDn8SKy",
  "pathology": "no or invalid IPv4 loopback interface found for device"
} 

2026-02-20 21:48:01.125 error {
  "time": "2026-02-20T20:48:01.125296018Z",
  "level": "ERROR",
  "msg": "failed to convert serviceability interface to controller interface",
  "mode": "no-tls",
  "device pubkey": "FwWis5rJD6ByvJmGYcfapYuHHB4B5pgFXpz2zMDn8SKy",
  "iface": {
    "Version": 1,
    "Name": "Loopback256",
    "InterfaceCYOA": "none",
    "InterfaceDIA": "none",
    "Bandwidth": 0,
    "Cir": 0,
    "Mtu": 1500,
    "RoutingMode": "static",
    "VlanId": 0,
    "NodeSegmentIdx": 90,
    "UserTunnelEndpoint": false,
    "Status": "activated",
    "InterfaceType": "loopback",
    "LoopbackType": "ipv4",
    "IpNet": "172.16.1.195/32"
  },
  "error": "node segment cannot be defined on non-vpnv4 loopbacks"
} 

I think it would be best if contributor didn't have to set these loopback interfaces themselves and the controller just pushes these to the device, seeing that we always have to set them.

Or we should at least allow changing the loopback type to ipv4 (in this case) and not leave config from the previously configured type behind.

Metadata

Metadata

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions