mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add sourcefilter support in luci-mod-network and various updates
This commit is contained in:
parent
38c232e12b
commit
39bccc349c
1 changed files with 45 additions and 2 deletions
|
@ -245,6 +245,25 @@ function has_peerdns(proto) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function has_sourcefilter(proto) {
|
||||||
|
switch (proto) {
|
||||||
|
case '3g':
|
||||||
|
case 'dhcpv6':
|
||||||
|
case 'directip':
|
||||||
|
case 'mbim':
|
||||||
|
case 'modemmanager':
|
||||||
|
case 'ncm':
|
||||||
|
case 'ppp':
|
||||||
|
case 'pppoa':
|
||||||
|
case 'pppoe':
|
||||||
|
case 'pptp':
|
||||||
|
case 'qmi':
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var cbiRichListValue = form.ListValue.extend({
|
var cbiRichListValue = form.ListValue.extend({
|
||||||
renderWidget: function(section_id, option_index, cfgvalue) {
|
renderWidget: function(section_id, option_index, cfgvalue) {
|
||||||
var choices = this.transformChoices();
|
var choices = this.transformChoices();
|
||||||
|
@ -537,6 +556,11 @@ return view.extend({
|
||||||
tdEl.lastChild.childNodes[3].disabled = true;
|
tdEl.lastChild.childNodes[3].disabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dynamic) {
|
||||||
|
//disable the 'Edit' button on dynamic interfaces
|
||||||
|
tdEl.lastChild.childNodes[2].disabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
return tdEl;
|
return tdEl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -588,6 +612,10 @@ return view.extend({
|
||||||
o.nobridges = false;
|
o.nobridges = false;
|
||||||
o.optional = false;
|
o.optional = false;
|
||||||
o.network = ifc.getName();
|
o.network = ifc.getName();
|
||||||
|
o.exclude = '@' + ifc.getName();
|
||||||
|
|
||||||
|
o = s.taboption('general', form.Flag, 'disabled', _('Disable this interface'));
|
||||||
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('general', form.Flag, 'auto', _('Bring up on boot'));
|
o = s.taboption('general', form.Flag, 'auto', _('Bring up on boot'));
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
@ -1043,7 +1071,7 @@ return view.extend({
|
||||||
for (var i = 0; i < rtTables.length; i++)
|
for (var i = 0; i < rtTables.length; i++)
|
||||||
o.value(rtTables[i][1], '%s (%d)'.format(rtTables[i][1], rtTables[i][0]));
|
o.value(rtTables[i][1], '%s (%d)'.format(rtTables[i][1], rtTables[i][0]));
|
||||||
|
|
||||||
if (protoval == 'dhcpv6') {
|
if (has_sourcefilter(protoval)) {
|
||||||
o = nettools.replaceOption(s, 'advanced', form.Flag, 'sourcefilter', _('IPv6 source routing'), _('Automatically handle multiple uplink interfaces using source-based policy routing.'));
|
o = nettools.replaceOption(s, 'advanced', form.Flag, 'sourcefilter', _('IPv6 source routing'), _('Automatically handle multiple uplink interfaces using source-based policy routing.'));
|
||||||
o.default = o.enabled;
|
o.default = o.enabled;
|
||||||
}
|
}
|
||||||
|
@ -1550,9 +1578,24 @@ return view.extend({
|
||||||
o = s.option(form.Value, 'ula_prefix', _('IPv6 ULA-Prefix'), _('Unique Local Address - in the range <code>fc00::/7</code>. Typically only within the ‘local’ half <code>fd00::/8</code>. ULA for IPv6 is analogous to IPv4 private network addressing. This prefix is randomly generated at first install.'));
|
o = s.option(form.Value, 'ula_prefix', _('IPv6 ULA-Prefix'), _('Unique Local Address - in the range <code>fc00::/7</code>. Typically only within the ‘local’ half <code>fd00::/8</code>. ULA for IPv6 is analogous to IPv4 private network addressing. This prefix is randomly generated at first install.'));
|
||||||
o.datatype = 'cidr6';
|
o.datatype = 'cidr6';
|
||||||
|
|
||||||
o = s.option(form.Flag, 'packet_steering', _('Packet Steering'), _('Enable packet steering across all CPUs. May help or hinder network speed.'));
|
o = s.option(form.ListValue, 'packet_steering', _('Packet Steering'), _('Enable packet steering across CPUs. May help or hinder network speed.'));
|
||||||
|
o.value('', _('Disabled'));
|
||||||
|
o.value('1',_('Enabled'));
|
||||||
|
o.value('2',_('Enabled (all CPUs)'));
|
||||||
o.optional = true;
|
o.optional = true;
|
||||||
|
|
||||||
|
var steer_flow = uci.get('network', 'globals', 'steering_flows');
|
||||||
|
|
||||||
|
o = s.option(form.Value, 'steering_flows', _('Steering flows (<abbr title="Receive Packet Steering">RPS</abbr>)'),
|
||||||
|
_('Directs packet flows to specific CPUs where the local socket owner listens (the local service).') + ' ' +
|
||||||
|
_('Note: this setting is for local services on the device only (not for forwarding).'));
|
||||||
|
o.value('', _('Standard: none'));
|
||||||
|
o.value('128', _('Suggested: 128'));
|
||||||
|
o.value('256', _('256'));
|
||||||
|
o.depends('packet_steering', '1');
|
||||||
|
o.depends('packet_steering', '2');
|
||||||
|
o.datatype = 'uinteger';
|
||||||
|
o.default = steer_flow;
|
||||||
|
|
||||||
if (dslModemType != null) {
|
if (dslModemType != null) {
|
||||||
s = m.section(form.TypedSection, 'dsl', _('DSL'));
|
s = m.section(form.TypedSection, 'dsl', _('DSL'));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue