mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-18 10:35:27 +00:00
Merge branch 'pie' of https://github.com/mimugmail/core into mimugmail-pie
This commit is contained in:
commit
7b1e838109
@ -95,6 +95,12 @@
|
||||
<advanced>true</advanced>
|
||||
<help>The number of flow queues that are created and managed, leave empty for defaults</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>pipe.pie_enable</id>
|
||||
<label>Enable PIE</label>
|
||||
<type>checkbox</type>
|
||||
<help>Enable PIE active queue management</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>pipe.delay</id>
|
||||
<label>Delay</label>
|
||||
|
||||
@ -60,6 +60,12 @@
|
||||
<type>checkbox</type>
|
||||
<advanced>true</advanced>
|
||||
<help>Explicit Congestion Notification</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>queue.pie_enable</id>
|
||||
<label>Enable PIE</label>
|
||||
<type>checkbox</type>
|
||||
<help>Enable PIE active queue management</help>
|
||||
</field>
|
||||
<field>
|
||||
<id>queue.description</id>
|
||||
|
||||
@ -55,48 +55,67 @@
|
||||
<ValidationMessage>bucket size should be between 1...65535</ValidationMessage>
|
||||
</buckets>
|
||||
<scheduler type="OptionField">
|
||||
<Required>N</Required>
|
||||
<default></default>
|
||||
<BlankDesc>Weighted Fair Queueing</BlankDesc>
|
||||
<OptionValues>
|
||||
<fifo>FIFO</fifo>
|
||||
<rr>Deficit Round Robin</rr>
|
||||
<qfq>QFQ</qfq>
|
||||
<fq_codel>FlowQueue-CoDel</fq_codel>
|
||||
</OptionValues>
|
||||
<Required>N</Required>
|
||||
<default></default>
|
||||
<BlankDesc>Weighted Fair Queueing</BlankDesc>
|
||||
<OptionValues>
|
||||
<fifo>FIFO</fifo>
|
||||
<rr>Deficit Round Robin</rr>
|
||||
<qfq>QFQ</qfq>
|
||||
<fq_codel>FlowQueue-CoDel</fq_codel>
|
||||
<fq_pie>FlowQueue-PIE</fq_pie>
|
||||
</OptionValues>
|
||||
</scheduler>
|
||||
<codel_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<Constraints>
|
||||
<check001>
|
||||
<ValidationMessage>Only one option could be selected</ValidationMessage>
|
||||
<type>SingleSelectConstraint</type>
|
||||
<addFields>
|
||||
<pie_enable>pie_enable</pie_enable>
|
||||
</addFields>
|
||||
</check001>
|
||||
</Constraints>
|
||||
</codel_enable>
|
||||
<codel_target type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
</codel_target>
|
||||
<codel_interval type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
</codel_interval>
|
||||
<codel_ecn_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
</codel_ecn_enable>
|
||||
<pie_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<Constraints>
|
||||
<check001>
|
||||
<reference>codel_enable.check001</reference>
|
||||
</check001>
|
||||
</Constraints>
|
||||
</pie_enable>
|
||||
<fqcodel_quantum type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
</fqcodel_quantum>
|
||||
<fqcodel_limit type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
</fqcodel_limit>
|
||||
<fqcodel_flows type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>65535</MaximumValue>
|
||||
</fqcodel_flows>
|
||||
<origin type="TextField">
|
||||
<Required>N</Required>
|
||||
@ -162,23 +181,41 @@
|
||||
<ValidationMessage>bucket size should be between 1...65535</ValidationMessage>
|
||||
</buckets>
|
||||
<codel_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<Constraints>
|
||||
<check001>
|
||||
<ValidationMessage>CoDel and PIE can not be combined.</ValidationMessage>
|
||||
<type>SingleSelectConstraint</type>
|
||||
<addFields>
|
||||
<pie_enable>pie_enable</pie_enable>
|
||||
</addFields>
|
||||
</check001>
|
||||
</Constraints>
|
||||
</codel_enable>
|
||||
<codel_target type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
</codel_target>
|
||||
<codel_interval type="IntegerField">
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
<Required>N</Required>
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>10000</MaximumValue>
|
||||
</codel_interval>
|
||||
<codel_ecn_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
</codel_ecn_enable>
|
||||
<pie_enable type="BooleanField">
|
||||
<default>0</default>
|
||||
<Required>Y</Required>
|
||||
<Constraints>
|
||||
<check001>
|
||||
<reference>codel_enable.check001</reference>
|
||||
</check001>
|
||||
</Constraints>
|
||||
</pie_enable>
|
||||
<description type="TextField">
|
||||
<Required>Y</Required>
|
||||
<mask>/^([\t\n\v\f\r 0-9a-zA-Z.\-,_\x{00A0}-\x{FFFF}]){1,255}$/u</mask>
|
||||
@ -193,10 +230,10 @@
|
||||
</queues>
|
||||
<rules>
|
||||
<rule type="ArrayField">
|
||||
<enabled type="BooleanField">
|
||||
<default>1</default>
|
||||
<Required>Y</Required>
|
||||
</enabled>
|
||||
<enabled type="BooleanField">
|
||||
<default>1</default>
|
||||
<Required>Y</Required>
|
||||
</enabled>
|
||||
<sequence type="IntegerField">
|
||||
<MinimumValue>1</MinimumValue>
|
||||
<MaximumValue>1000000</MaximumValue>
|
||||
|
||||
@ -52,8 +52,8 @@ pipe {{ pipe.number }} config bw {{ pipe.bandwidth }}{{ pipe.bandwidthMetric }}/
|
||||
if pipe.fqcodel_quantum|default('') != '' %} quantum {{pipe.fqcodel_quantum}} {% endif %} {%
|
||||
if pipe.fqcodel_limit|default('') != '' %} limit {{pipe.fqcodel_limit}} {% endif %} {%
|
||||
if pipe.fqcodel_flows|default('') != '' %} flows {{pipe.fqcodel_flows}} {% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}{%
|
||||
elif pipe.pie_enable|default('0') == '1' and pipe.scheduler != 'fq_pie' %} pie {% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
@ -69,7 +69,8 @@ queue {{ queue.number }} config pipe {{ helpers.getUUID(queue.pipe).number
|
||||
if queue.codel_enable|default('0') == '1' %} codel {%
|
||||
if queue.codel_target|default('') != ''%} target {{queue.codel_target}} {% endif %}{%
|
||||
if queue.codel_interval|default('') != ''%} interval {{queue.codel_interval}} {% endif %}{%
|
||||
if queue.codel_ecn_enable|default('0') == '1'%} ecn {% else %} noecn {% endif %}
|
||||
if queue.codel_ecn_enable|default('0') == '1'%} ecn {% else %} noecn {% endif %}{%
|
||||
elif queue.pie_enable|default('0') == '1' %} pie
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user