Skip to content

add vxlan interface plugin#1902

Draft
stefanpenner wants to merge 1 commit into
firewalla:masterfrom
stefanpenner:vxlan-interface-plugin
Draft

add vxlan interface plugin#1902
stefanpenner wants to merge 1 commit into
firewalla:masterfrom
stefanpenner:vxlan-interface-plugin

Conversation

@stefanpenner

@stefanpenner stefanpenner commented Jun 6, 2026

Copy link
Copy Markdown

Part of a 2-PR stack: #1902 (this) vxlan interface plugin · #1903 network config overlay. Independent; better together.

Why

Today a vxlan can only be terminated on the box by creating the netdev out-of-band and adopting it through the phy plugin — FireRouter never manages its lifecycle. There is no native vxlan interface type.

How

Adds one, modeled on the vlan plugin: modprobe vxlan, create the link with ip link add … type vxlan …, delete it on flush, and re-apply when its underlay (intf) changes if that underlay is managed. Declared under interface.vxlan.<name>; with meta.type: lan it is monitored, DHCP-served, and firewalled like any LAN. Default MTU 1450 (1500 underlay − 50 overhead).

Config keys: vni (required), intf (underlay), local, remote/group, dstport (default 4789).

"interface": {
  "vxlan": {
    "vxlan99": {
      "enabled": true,
      "meta": { "type": "lan", "name": "exp" },
      "vni": 99,
      "intf": "br0",
      "local": "10.86.1.1",
      "remote": "10.86.1.32",
      "ipv4": "10.99.0.1/24"
    }
  }
}

Mirrors the vlan plugin; declares a VXLAN overlay under interface.vxlan.<name>,
managed by FireRouter and monitored + DHCP-served when meta.type is "lan".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@stefanpenner stefanpenner force-pushed the vxlan-interface-plugin branch from 01bd934 to e4cce4f Compare June 6, 2026 03:22
@stefanpenner stefanpenner changed the title Add vxlan interface plugin add vxlan interface plugin Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant