This commit is contained in:
Ad Schellevis 2018-04-14 13:07:06 +02:00
parent 6f23e9cc1f
commit a114dc67bf
4 changed files with 29 additions and 1 deletions

View File

@ -33,6 +33,13 @@
<li>Leave this value empty if you want to create a pipe with a fixed bandwith.</li>
]]></help>
</field>
<field>
<id>pipe.buckets</id>
<label>buckets</label>
<type>text</type>
<help>Specifies the size of the hash table used for storing the various dynamic pipes configured with the mask setting</help>
<advanced>true</advanced>
</field>
<field>
<id>pipe.scheduler</id>
<label>Scheduler type</label>

View File

@ -27,6 +27,13 @@
<li>Leave this value empty if you want to specify multiple queues with different weights.</li>
]]></help>
</field>
<field>
<id>queue.buckets</id>
<label>buckets</label>
<type>text</type>
<help>Specifies the size of the hash table used for storing the various dynamic queues configured with the mask setting</help>
<advanced>true</advanced>
</field>
<field>
<id>queue.codel_enable</id>
<label>Enable CoDel</label>

View File

@ -48,6 +48,12 @@
<dst-ip>destination</dst-ip>
</OptionValues>
</mask>
<buckets type="IntegerField">
<Required>N</Required>
<MinimumValue>1</MinimumValue>
<MaximumValue>65535</MaximumValue>
<ValidationMessage>bucket size should be between 1...65535</ValidationMessage>
</buckets>
<scheduler type="OptionField">
<Required>N</Required>
<default></default>
@ -149,6 +155,12 @@
<dst-ip>destination</dst-ip>
</OptionValues>
</mask>
<buckets type="IntegerField">
<Required>N</Required>
<MinimumValue>1</MinimumValue>
<MaximumValue>65535</MaximumValue>
<ValidationMessage>bucket size should be between 1...65535</ValidationMessage>
</buckets>
<codel_enable type="BooleanField">
<default>0</default>
<Required>Y</Required>

View File

@ -39,6 +39,7 @@ flush
pipe {{ pipe.number }} config bw {{ pipe.bandwidth }}{{ pipe.bandwidthMetric }}/s{%
if pipe.queue %} queue {{ pipe.queue }}{%
if pipe.queueMetric != 'slots' %}{{pipe.queueMetric}}{% endif %}{% endif
%}{% if pipe.buckets %} buckets {{ pipe.buckets }}{% endif
%}{% if pipe.mask != 'none' %} mask {{ pipe.mask }} 0xffffffff {% endif %} type {%
if pipe.scheduler|default('') != '' %} {{pipe.scheduler}} {% else %} wf2q+ {% endif %}{%
if pipe.delay|default('') != '' %} delay {{pipe.delay}} {% endif %}{%
@ -63,7 +64,8 @@ pipe {{ pipe.number }} config bw {{ pipe.bandwidth }}{{ pipe.bandwidthMetric }}/
{% if helpers.exists('OPNsense.TrafficShaper.queues.queue') %}
{% for queue in helpers.toList('OPNsense.TrafficShaper.queues.queue') %}
{% if helpers.getUUIDtag(queue.pipe) in ['pipe'] %}
queue {{ queue.number }} config pipe {{ helpers.getUUID(queue.pipe).number }} {% if queue.mask != 'none' %} mask {{ queue.mask }} 0xffffffff {% endif %} weight {{ queue.weight }}{%
queue {{ queue.number }} config pipe {{ helpers.getUUID(queue.pipe).number
}}{% if queue.buckets %} buckets {{ queue.buckets }}{% endif %}{% if queue.mask != 'none' %} mask {{ queue.mask }} 0xffffffff {% endif %} weight {{ queue.weight }}{%
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 %}{%