Role subpackages set the system-wide default qdisc and TCP congestion control via /usr/lib/sysctl.d, without pulling in the base package: server fq + bbr bare metal, VM guests vmhost fq_codel + bbr hypervisors, container hosts router fq_codel + cubic desktop fq_codel + cubic The base package applies cake per interface from /etc/qos-profiles/<iface>.conf, layered over role defaults and /etc/qos-profiles/defaults.conf: - LINK_RATE with per-direction overrides, shaped to SHAPE_PERCENT (default 95, per direction overridable) - outbound fairness per source host and diffserv4; inbound via ifb, fairness per destination host, besteffort with DSCP wash - NAT awareness, extra cake args (shared and per direction), raw qdisc overrides - config parsed without executing it, validated before any change, previous state undone on each run Applied by the qos-profiles@<iface> unit (bound to the device) or the qos-profiles-networkmanager dispatcher subpackage, installed automatically on hosts with NetworkManager. Includes ready-made examples for VM hosts, OVH dual-NIC servers, DC and home routers.
14 lines
491 B
Plaintext
14 lines
491 B
Plaintext
# Router on VDSL2 with PPPoE, asymmetric, NAT.
|
|
# Install as: /etc/qos-profiles/ppp0.conf (role: qos-profiles-router)
|
|
#
|
|
# Configure the PPPoE interface (ppp0), not the Ethernet below it. Use the
|
|
# DSL sync rates from the modem, they're higher than the usable rate; the
|
|
# pppoe-ptm overhead accounts for the rest.
|
|
# ack-filter drops redundant TCP ACKs on the slow upstream.
|
|
|
|
EGRESS_RATE=20mbit
|
|
INGRESS_RATE=100mbit
|
|
INGRESS_SHAPE_PERCENT=90
|
|
CAKE_ARGS="pppoe-ptm"
|
|
EGRESS_CAKE_ARGS="ack-filter"
|