Merge pull request #27 from freifunk-gluon/batman-on-wan

gluon-batman-on-wan + gluon-luci-portconfig
This commit is contained in:
Nils Schneider 2014-07-16 16:30:36 +02:00
commit 1a14b2eff3
4 changed files with 115 additions and 0 deletions

View File

@ -0,0 +1,39 @@
# Copyright (C) 2013 Nils Schneider <nils at nilsschneider.net>
# This is free software, licensed under the Apache 2.0 license.
include $(TOPDIR)/rules.mk
PKG_NAME:=gluon-luci-portconfig
PKG_VERSION:=0.1
PKG_RELEASE:=1
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/gluon-luci-portconfig
SECTION:=gluon
CATEGORY:=Gluon
TITLE:=Luci module for advanced ethernet port configuration
DEPENDS:=+gluon-luci-admin +gluon-mesh-batman-adv
endef
define Package/gluon-luci-portconfig/description
Luci module for advanced ethernet port configuration
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/gluon-luci-portconfig/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,gluon-luci-portconfig))

View File

@ -0,0 +1,20 @@
--[[
LuCI - Lua Configuration Interface
Copyright 2013 Nils Schneider <nils@nilsschneider.net>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
$Id$
]]--
module("luci.controller.admin.portconfig", package.seeall)
function index()
entry({"admin", "portconfig"}, cbi("admin/portconfig"), _("Schnittstellen"), 20)
end

View File

@ -0,0 +1,38 @@
--[[
LuCI - Lua Configuration Interface
Copyright 2014 Nils Schneider <nils@nilsschneider.net>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
$Id$
]]--
local uci = luci.model.uci.cursor()
f = SimpleForm("portconfig")
f.template = "admin/expertmode"
f.submit = "Speichern"
f.reset = "Zurücksetzen"
s = f:section(SimpleSection, nil, nil)
o = s:option(Flag, "mesh_wan", "Mesh auf dem WAN-Port aktivieren")
o.default = uci:get_bool("network", "mesh_wan", "auto") and o.enabled or o.disabled
o.rmempty = false
function f.handle(self, state, data)
if state == FORM_VALID then
uci:set("network", "mesh_wan", "auto", data.mesh_wan)
uci:save("network")
uci:commit("network")
end
return true
end
return f

View File

@ -0,0 +1,18 @@
#!/usr/bin/lua
local site = require 'gluon.site_config'
local uci = require 'luci.model.uci'
local c = uci.cursor()
if not c:get('network', 'mesh_wan') then
c:section('network', 'interface', 'mesh_wan',
{ ifname = 'br-wan'
, proto = 'batadv'
, mesh = 'bat0'
, auto = site.mesh_on_wan and 1 or 0
})
end
c:save('network')
c:commit('network')