Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mirrors
openwrt
luci
提交
c183fb87
L
luci
项目概览
mirrors
/
openwrt
/
luci
大约 1 年 前同步成功
通知
43
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
luci
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c183fb87
编写于
5月 20, 2011
作者:
J
Jo-Philipp Wich
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
luci-0.10: merge r7084
上级
02a06a74
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
17 deletion
+38
-17
modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
+38
-17
未找到文件。
modules/admin-full/luasrc/model/cbi/admin_network/vlan.lua
浏览文件 @
c183fb87
...
...
@@ -2,7 +2,7 @@
LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2010 Jo-Philipp Wich <xm@subsignal.org>
Copyright 2010
-2011
Jo-Philipp Wich <xm@subsignal.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
...
...
@@ -18,13 +18,16 @@ m = Map("network", translate("Switch"), translate("The network ports on your rou
m
.
uci
:
foreach
(
"network"
,
"switch"
,
function
(
x
)
local
switch_name
=
x
.
name
or
x
[
'.name'
]
local
has_enable
=
"enable"
local
has_reset
=
nil
local
has_vlan
=
nil
local
has_learn
=
nil
local
has_vlan4k
=
nil
local
has_ptpvid
=
nil
local
has_jumbo3
=
nil
local
min_vid
=
0
local
max_vid
=
16
local
num_vlans
=
16
local
num_ports
=
5
local
num_ports
=
6
local
cpu_port
=
5
local
enable_vlan4k
=
false
...
...
@@ -51,20 +54,28 @@ m.uci:foreach("network", "switch",
num_ports
,
cpu_port
,
num_vlans
=
line
:
match
(
"ports: (%d+) %(cpu @ (%d+)%), vlans: (%d+)"
)
num_ports
=
tonumber
(
num_ports
)
or
5
num_vlans
=
tonumber
(
num_vlans
)
or
16
cpu_port
=
tonumber
(
cpu_port
)
or
5
min_vid
=
1
num_ports
=
tonumber
(
num_ports
or
6
)
num_vlans
=
tonumber
(
num_vlans
or
16
)
cpu_port
=
tonumber
(
cpu_port
or
5
)
min_vid
=
1
has_enable
=
nil
elseif
line
:
match
(
": pvid"
)
or
line
:
match
(
": tag"
)
or
line
:
match
(
": vid"
)
then
if
is_vlan_attr
then
has_vlan4k
=
line
:
match
(
": (%w+)"
)
end
if
is_port_attr
then
has_ptpvid
=
line
:
match
(
": (%w+)"
)
end
elseif
line
:
match
(
": enable_vlan"
)
then
has_vlan
=
"enable_vlan"
elseif
line
:
match
(
": enable_learning"
)
then
has_learn
=
"enable_learning"
elseif
line
:
match
(
": reset"
)
then
has_reset
=
"reset"
elseif
line
:
match
(
": enable_vlan4k"
)
then
enable_vlan4k
=
true
elseif
line
:
match
(
": max_length"
)
then
has_jumbo3
=
true
end
end
...
...
@@ -103,20 +114,30 @@ m.uci:foreach("network", "switch",
s
=
m
:
section
(
NamedSection
,
x
[
'.name'
],
"switch"
,
translatef
(
"Switch %q"
,
switch_name
))
s
.
addremove
=
false
s
:
option
(
Flag
,
"enable"
,
translate
(
"Enable this switch"
)).
default
=
"1"
s
:
option
(
Flag
,
"enable_vlan"
,
translate
(
"Enable VLAN functionality"
)).
default
=
"1"
if
has_enable
then
x
=
s
:
option
(
Flag
,
has_enable
,
translate
(
"Enable this switch"
))
x
.
default
=
x
.
enabled
end
if
has_vlan
then
x
=
s
:
option
(
Flag
,
has_vlan
,
translate
(
"Enable VLAN functionality"
))
x
.
default
=
x
.
enabled
end
if
enable_vlan4k
then
s
:
option
(
Flag
,
"enable_vlan4k"
,
translate
(
"Enable 4K VLANs"
))
end
if
has_jumbo3
then
j
=
s
:
option
(
Flag
,
"max_length"
,
translate
(
"Enable Jumbo Frame passthrough"
))
j
.
enabled
=
"3"
j
.
rmempty
=
true
if
has_learn
then
x
=
s
:
option
(
Flag
,
has_learn
,
translate
(
"Enable learning and aging"
))
x
.
default
=
x
.
enabled
end
if
has_reset
then
x
=
s
:
option
(
Flag
,
has_reset
,
translate
(
"Reset switch during setup"
))
x
.
default
=
x
.
enabled
end
s
:
option
(
Flag
,
"reset"
,
translate
(
"Reset switch during setup"
)).
default
=
"1"
-- VLAN table
s
=
m
:
section
(
TypedSection
,
"switch_vlan"
,
translatef
(
"VLANs on %q"
,
switch_name
))
...
...
@@ -202,7 +223,7 @@ m.uci:foreach("network", "switch",
if
value
==
"u"
then
if
not
untagged
[
self
.
option
]
then
untagged
[
self
.
option
]
=
true
else
else
if
min_vid
>
0
or
tonumber
(
self
.
option
)
~=
cpu_port
then
-- enable multiple untagged cpu ports due to weird broadcom default setup
return
nil
,
translatef
(
"Port %d is untagged in multiple VLANs!"
,
tonumber
(
self
.
option
)
+
1
)
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录