Classless Queuing Disciplines¶
Cake¶
-
class
pyqos.algorithms.classless_qdiscs.
Cake
(bandwidth=None, autorate_ingress=False, rtt_time=None, rtt_preset=None, priority_queue_preset=None, flow_isolation=None, nat=False, wash=False, split_gso=True, ack_filter=False, ack_filter_aggressive=False, memlimit=None, fwmark=None, atm_ptm_compensation=None, overhead=None, mpu=None, overhead_preset=None, ingress=False, *args, **kwargs)[source]¶ Cake (cake) qdisc
Complete documentation about this algorithm can be read here: https://www.bufferbloat.net/projects/codel/wiki/Cake/
-
parent
¶ Parent object
-
ack_filter
= None¶ Enable or disable ACK filtering, changing the priority of TCP ACK
-
ack_filter_aggressive
= None¶ Enable aggressive mode for ACK filtering (useful only if ACK filter is enabled)
-
autorate_ingress
= None¶ automatic compute of bandwidth. Can be used in conjunction of bandwidth to specify an initial estimate
-
bandwidth
= None¶ bandwidth, in kbps. For now, does not allow a dynamic rate based on the parent one, as their is not a real purpose without allowing to handle priorities.
-
flow_isolation
= None¶ flow isolation technique
-
fwmark
= None¶ Mask applied on the packet firewall mark. If indicated, only packets matching this mask will be accepted by the qdisc.
-
ingress
= None¶ Is the qdisc ingress. If false, is egress
-
memlimit
= None¶ Memory limit, Bytes. If None, automatically computed by Cake.
-
mpu
= None¶ Rounds each packet (including overhead) up to a minimum length, in Bytes
-
nat
= None¶ Enable or disable NAT lookup
-
overhead
= None¶ Overhead to apply to the size of each packet, in Bytes. Range is -64 to 256
-
overhead_preset
= None¶ Overhead preset to apply to the size of each packet. Useless if an overhead size if given. As some preset can be repeated, can be a list of string.
-
priority_queue_preset
= None¶ preset of priority queue
-
rtt_preset
= None¶ rtt preset. Useless if an rtt_time is given.
-
rtt_time
= None¶ rtt time, in ms
-
split_gso
= None¶ Enable or disable General Segmentation Offload (GSO) splitting
-
wash
= None¶ Enable or disable extra diffserv “washing”
-
FQCodel¶
-
class
pyqos.algorithms.classless_qdiscs.
FQCodel
(limit=None, flows=None, target=None, interval=None, codel_quantum=None, *args, **kwargs)[source]¶ FQCodel (fq_codel) qdisc
-
parent
¶ Parent object
-
codel_quantum
= None¶ is the number of bytes used as ‘deficit’ in the fair queuing algorithm
-
flows
= None¶ is the number of flows into which the incoming packets are classified
-
interval
= None¶ is used to ensure that the measured minimum delay does not become too stale
-
limit
= None¶ when this limit is reached, incoming packets are dropped
-
target
= None¶ is the acceptable minimum standing/persistent queue delay
-