<form>
    <field>
        <id>pipe.enabled</id>
        <label>Enabled</label>
        <type>checkbox</type>
        <help>Enable this pipe and its related queues and rules</help>
        <grid_view>
            <width>6em</width>
            <type>boolean</type>
            <formatter>rowtoggle</formatter>
        </grid_view>
    </field>
    <field>
        <id>pipe.bandwidth</id>
        <label>Bandwidth</label>
        <type>text</type>
        <help>Total bandwidth for this pipe</help>
    </field>
    <field>
        <id>pipe.bandwidthMetric</id>
        <label>Bandwidth Metric</label>
        <type>dropdown</type>
    </field>
    <field>
        <id>pipe.queue</id>
        <label>Queue</label>
        <type>text</type>
        <help>number of dynamic queues, leave empty for default</help>
        <advanced>true</advanced>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.mask</id>
        <label>Mask</label>
        <type>dropdown</type>
        <help><![CDATA[Dynamic pipe creation by source or destination address.
        <li>Choose destination to give every IP in destination field of rules the specified bandwidth. A pipe with 1Mbit e.g. would let 3 clients lend 1Mbit each so 3Mbit max. Normally this is used for download pipes.</li>
        <li>Choose source to give every IP in the source field of rules the specified bandwidth. Normally this is used for upload pipes.</li>
        <li>Leave this value empty if you want to create a pipe with a fixed bandwidth.</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>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.scheduler</id>
        <label>Scheduler type</label>
        <type>dropdown</type>
        <advanced>true</advanced>
        <help>Specify the scheduling algorithm to use</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.codel_enable</id>
        <label>Enable CoDel</label>
        <type>checkbox</type>
        <help>Enable CoDel active queue management</help>
        <grid_view>
            <visible>false</visible>
            <type>boolean</type>
            <formatter>boolean</formatter>
        </grid_view>
    </field>
    <field>
        <id>pipe.codel_target</id>
        <label>(FQ-)CoDel target</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>Minimum acceptable persistent queue delay (in ms), leave empty for default</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.codel_interval</id>
        <label>(FQ-)CoDel interval</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>Interval before dropping packets (in ms), leave empty for default</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.codel_ecn_enable</id>
        <label>(FQ-)CoDel ECN</label>
        <type>checkbox</type>
        <advanced>true</advanced>
        <help>Explicit Congestion Notification</help>
        <grid_view>
            <visible>false</visible>
            <type>boolean</type>
            <formatter>boolean</formatter>
        </grid_view>
    </field>
    <field>
        <id>pipe.fqcodel_quantum</id>
        <label>FQ-CoDel quantum</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>The number of bytes a queue can serve before being moved to the tail of old queues list (bytes), leave empty for defaults</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.fqcodel_limit</id>
        <label>FQ-CoDel limit</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>The hard size limit of all queues managed by this instance, leave empty for defaults</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.fqcodel_flows</id>
        <label>FQ-CoDel flows</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>The number of flow queues that are created and managed, leave empty for defaults</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.pie_enable</id>
        <label>Enable PIE</label>
        <type>checkbox</type>
        <help>Enable PIE active queue management</help>
        <grid_view>
            <visible>false</visible>
            <type>boolean</type>
            <formatter>boolean</formatter>
        </grid_view>
    </field>
    <field>
        <id>pipe.delay</id>
        <label>Delay</label>
        <type>text</type>
        <advanced>true</advanced>
        <help>Add delay in ms to this pipe.</help>
        <grid_view>
            <visible>false</visible>
        </grid_view>
    </field>
    <field>
        <id>pipe.description</id>
        <label>Description</label>
        <type>text</type>
        <help>Description to identify this pipe.</help>
    </field>
</form>
