Skip to content
Snippets Groups Projects
Select Git revision
  • b902ddd8df17b19404f4c127f55d035b36127c8b
  • v2018.2.x default protected
  • 0x4A6F-rpi4
  • 0x4A6F-master
  • master
  • v2018.2.2-ffs
  • v2016.2.4-batmanbug
  • radv-filterd
  • v2016.2.x
  • hoodselector
  • v2016.1.x
  • babel
  • v2015.1.x
  • 2014.4.x
  • 2014.3.x
  • v2018.2.2-ffs0.1
  • v2018.2.1-ffs0.1
  • v2018.2.1
  • v2018.2-ffs0.1
  • v2018.2
  • v2018.1.4
  • v2018.1.3
  • v2018.1.2
  • v2018.1.1
  • v2018.1
  • v2017.1.8
  • v2017.1.7
  • v2017.1.6
  • v2017.1.5
  • v2017.1.4
  • v2017.1.3
  • v2017.1.2
  • v2016.2.7
  • v2017.1.1
  • v2017.1
35 results

400-next-node

Blame
  • Forked from firmware / FFS Gluon
    Source project has a limited visibility.
    400-next-node 1.12 KiB
    #!/usr/bin/lua
    
    local site = require 'gluon.site_config'
    local uci = require 'luci.model.uci'
    local ip = require 'luci.ip'
    
    local c = uci.cursor()
    
    
    c:delete('network', 'local_node_dev')
    c:section('network', 'device', 'local_node_dev',
    	  {
    		  name = 'local-node',
    		  ifname = 'br-client',
    		  type = 'macvlan',
    		  macaddr = site.next_node.mac,
    	  }
    )
    
    local ip4, netmask
    
    if site.next_node.ip4 then
    	ip4 = site.next_node.ip4
    	netmask = ip.IPv4(site.prefix4):mask():string()
    end
    
    c:delete('network', 'local_node')
    c:section('network', 'interface', 'local_node',
    	  {
    		  ifname = 'local-node',
    		  proto = 'static',
    		  ipaddr = ip4,
    		  netmask = netmask,
    		  ip6addr = site.next_node.ip6 .. '/128',
    	  }
    )
    
    c:delete('network', 'local_node_route6')
    c:section('network', 'route6', 'local_node_route6',
    	  {
    		  interface = 'client',
    		  target = site.prefix6,
    		  gateway = '::',
    	  }
    )
    
    c:save('network')
    
    c:delete('firewall', 'local_node')
    c:section('firewall', 'zone', 'local_node',
    	  {
    		  name = 'local_node',
    		  network = {'local_node'},
    		  input = 'ACCEPT',
    		  output = 'ACCEPT',
    		  forward = 'REJECT',
    	  }
    )
    c:save('firewall')