#!/usr/bin/lua local site = require 'gluon.site_config' local sysconfig = require 'gluon.sysconfig' local uci = require('simple-uci').cursor() uci:delete('network', 'local_node_dev') uci:section('network', 'device', 'local_node_dev', { type = 'veth', name = 'local-node', macaddr = site.next_node.mac, peer_name = 'local-port', peer_macaddr = sysconfig.primary_mac, }) local ip4, ip6 if site.next_node.ip4 then local plen = site.prefix4:match('/%d+$') ip4 = site.next_node.ip4 .. plen end if site.next_node.ip6 then ip6 = site.next_node.ip6 .. '/128' end uci:delete('network', 'local_node') uci:section('network', 'interface', 'local_node', { ifname = 'local-node', proto = 'static', ipaddr = ip4, ip6addr = ip6, }) uci:save('network') uci:delete('dhcp', 'local_node') uci:section('dhcp', 'dhcp', 'local_node', { interface = 'local_node', ignore = true, }) uci:save('dhcp')