Files
qos-profiles/example-router-vdsl-pppoe.conf
T
zpericic 86a0d2cdd1 Initial import of qos-profiles
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.
2026-10-10 22:41:12 +02:00

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"