luci-app-pppoe-server: Add PPPoE server configuration 682/head
authorDaniel Dickinson <lede@cshore.thecshore.com>
Sun, 14 Aug 2016 00:36:18 +0000 (20:36 -0400)
committerDaniel Dickinson <lede@cshore.thecshore.com>
Sun, 14 Aug 2016 00:36:18 +0000 (20:36 -0400)
Adds support for rp-pppoe-server configuration once pending
pull request for packages feed gets applied.

Signed-off-by: Daniel Dickinson <lede@cshore.thecshore.com>
applications/luci-app-rp-pppoe-server/Makefile [new file with mode: 0644]
applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua [new file with mode: 0644]
applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua [new file with mode: 0644]

diff --git a/applications/luci-app-rp-pppoe-server/Makefile b/applications/luci-app-rp-pppoe-server/Makefile
new file mode 100644 (file)
index 0000000..6cf4595
--- /dev/null
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+LUCI_TITLE:=Roaring Penguing PPPoE Server
+LUCI_DEPENDS:=+rp-pppoe-server
+
+include ../../luci.mk
+
+# call BuildPackage - OpenWrt buildroot signature
diff --git a/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/controller/rp-pppoe-server.lua
new file mode 100644 (file)
index 0000000..105a80e
--- /dev/null
@@ -0,0 +1,13 @@
+-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com>
+-- Licensed to the public under the Apache License 2.0.
+
+module("luci.controller.rp-pppoe-server", package.seeall)
+
+function index()
+       if not nixio.fs.access("/etc/config/pppoe") then
+               return
+       end
+
+       entry({"admin", "services", "rp-pppoe-server"}, cbi("rp-pppoe-server"), _("RP PPPoE Server"))
+end
+
diff --git a/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua b/applications/luci-app-rp-pppoe-server/luasrc/model/cbi/rp-pppoe-server.lua
new file mode 100644 (file)
index 0000000..ef15ed6
--- /dev/null
@@ -0,0 +1,72 @@
+-- Copyright 2015 Daniel Dickinson <openwrt@daniel.thecshore.com>
+-- Licensed to the public under the Apache License 2.0.
+
+local m, s, o
+
+local nixio = require "nixio"
+
+m = Map("pppoe", translate("Roaring Penguin PPPoE Server"),
+       translate("PPPoE Server Configuration"))
+
+s = m:section(TypedSection, "pppoe_server", translate("Server Configuration"))
+s.addremove = false
+s.anonymous = true
+
+o = s:option(Value, "interface", translate("Interface"), translate("Interface on which to listen."))
+o.template = "cbi/network_ifacelist"
+o.nocreate = true
+
+o = s:option(Value, "ac_name", translate("Access Concentrator Name"))
+o.optional = true
+
+o = s:option(DynamicList, "service_name", translate("Service Name"))
+o.optional = true
+
+o = s:option(Value, "maxsessionsperpeer", translate("Maximum sessions per peer"))
+o.optional = true
+o.datatype = "uinteger"
+
+o = s:option(Value, "localip", translate("IP of listening side"))
+o.datetype = "ipaddr"
+
+o = s:option(Value, "firstremoteip", translate("First remote IP"))
+o.datatype = "ipaddr"
+
+o = s:option(Value, "maxsessions", translate("Maximum sessions"))
+o.datatype = "uinteger"
+o.default = 64
+o.optional = true
+
+o = s:option(Value, "optionsfile", translate("Options file"))
+o.default = "/etc/ppp/pppoe-server-options"
+o.optional = true
+
+o = s:option(Flag, "randomsessions", translate("Random session selection"), translate("Instead of starting at beginning and going to end, randomize session number"))
+o.optional = true
+
+o = s:option(Value, "unit", translate("Unit"), translate("PPP unit number"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 0
+
+o = s:option(Value, "offset", translate("Offset"), translate("PPP offset"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 0
+
+o = s:option(Value, "timeout", translate("Timeout"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 60
+
+o = s:option(Value, "mss", translate("MSS"))
+o.optional = true
+o.datatype = "uinteger"
+o.default = 1468
+
+
+o = s:option(Flag, "sync", translate("Sync"))
+o.optional = true
+o.default = false
+
+return m