Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a1e7daf
confd: update ieee802-dot1q-types to revision 2023-10-26
troglobit Sep 7, 2026
5ba4ee5
board: enable ETS qdisc and sync x86_64 QoS kernel options
troglobit Sep 7, 2026
7372e48
confd: initial QoS support, classification, traffic classes
troglobit Sep 7, 2026
9944e99
test: infamy: print the RESTCONF error body on HTTP failures
troglobit Sep 8, 2026
ab97910
test: add QoS test suite
troglobit Sep 7, 2026
ab8202c
doc: describe per-interface QoS configuration
troglobit Sep 7, 2026
649ddfc
doc: center tables and fit header cells to their content
troglobit Sep 7, 2026
1efbcc0
doc: tighten code block line height
troglobit Sep 7, 2026
e87332a
linux: offload QoS classification and remarking on Marvell LinkStreet
troglobit Sep 9, 2026
1d43430
test: add QoS bridge classification test
troglobit Sep 9, 2026
aefab27
confd: prefer the ets scheduler for transmission selection
troglobit Sep 16, 2026
6303114
confd: add a per-port egress rate limit
troglobit Sep 16, 2026
608d8c4
test: add QoS queue assignment test
troglobit Sep 17, 2026
330a5fd
test: add QoS strict priority test
troglobit Sep 17, 2026
0e80f25
test: add QoS weighted sharing test
troglobit Sep 17, 2026
7f06a79
test: add QoS mixed selection test
troglobit Sep 17, 2026
0fecb25
linux: offload QoS transmission selection and rate limit on Marvell L…
troglobit Sep 17, 2026
10a10fe
confd: schedule every port with ets
troglobit Sep 17, 2026
5948be7
test: drop the mqprio branches from the QoS tests
troglobit Sep 17, 2026
d5be857
test: add QoS rate limit test
troglobit Sep 18, 2026
5d085f2
test: infamy: say why a test skipped
troglobit Sep 22, 2026
e1e4a1c
test: infamy: ask the device what it can do
troglobit Sep 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
{
"eth0": {
"phy-detached-when-down": true
},
"eth1": {
"broken-mqprio": true
}
}
9 changes: 9 additions & 0 deletions board/aarch64/linux_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -245,13 +245,22 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_DCB=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
Expand Down
4 changes: 3 additions & 1 deletion board/aarch64/microchip-ev23x71a/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ Supported:
Not yet done:

- TSN queueing. PSFP and time aware shaping need `NET_SCH_TAPRIO`,
`NET_ACT_GATE`, `NET_SCH_ETS`, and `NET_SCH_CBS`, all currently off
`NET_ACT_GATE`, and `NET_SCH_CBS`, all currently off. Ingress
classification (`dcb`) and traffic classes (`mqprio`) are configurable
from the QoS model but not yet verified on this board
- HSR/PRP offload, see above
- MAC addresses. With no environment in flash the board falls back to
`lan969x_otp_get_mac()`, which derives 30 addresses for this board
Expand Down
9 changes: 9 additions & 0 deletions board/arm/linux_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -229,13 +229,22 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_DCB=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
Expand Down
60 changes: 0 additions & 60 deletions board/common/rootfs/usr/libexec/infix/init.d/25-mqprio

This file was deleted.

9 changes: 9 additions & 0 deletions board/riscv64/linux_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,22 @@ CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_DCB=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
Expand Down
14 changes: 14 additions & 0 deletions board/x86_64/linux_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,23 @@ CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_GACT=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_DCB=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
Expand Down
23 changes: 20 additions & 3 deletions doc/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,22 @@ All notable changes to the project are documented in this file.
than by running the tool as root
- The CLI `dir` command lists directories as the logged-in user, so it
shows only what that user may read
- Add per-interface Quality of Service configuration: which header field
a port trusts (PCP, DSCP, or both in order), the default priority, PCP
and DSCP to priority maps with standard presets, an egress traffic
class table with strict-priority or weighted transmission selection per
class, and PCP and DSCP remarking on transmit. The defaults are on out
of the box on every port: trust PCP, one traffic class per
transmit queue mapped per IEEE 802.1Q-2022 Table 8-5, replacing the
fixed boot-time queue setup, see [QoS][]
- Add a per-port egress rate limiting in new [QoS][] sub-system
- Transmission selection is rendered with the `ets` scheduler on every
port, so drivers that offload it take the class algorithms and weights
into the switch fabric, not only the priority to class map
- Marvell LinkStreet 88E6390 and 88E6393X switch ports offload QoS
classification, trust order, remarking, transmission selection and the
egress rate limit to the switch, so they apply to hardware forwarded
traffic as well

### Added

Expand Down Expand Up @@ -82,7 +98,7 @@ All notable changes to the project are documented in this file.
- Add TFTP server for network boot and device provisioning, issue #1542.
Read-only, serving `/var/lib/tftpboot` or a directory on USB media, with
optional per-client subdirectories. `show tftp` lists the files served,
see [TFTP Server](tftp.md)
see the [TFTP Server][tftp] section in the User Guide
- Add network boot parameters to DHCP server: `boot file`, `server-address`,
and `server-name` at global, subnet, or host scope, sent in the BOOTP header
fields and as options 66/67
Expand All @@ -108,9 +124,10 @@ All notable changes to the project are documented in this file.
and mesh point from the interface editor. The mode used to be fixed
when the interface was created

[QoS]: https://www.kernelkit.org/infix/latest/qos/
[relsup]: https://github.com/kernelkit/infix/blob/main/doc/releases.md
[snmp]: https://www.kernelkit.org/infix/latest/snmp/

[snmp]: https://www.kernelkit.org/infix/latest/snmp/
[tftp]: https://www.kernelkit.org/infix/latest/tftp/

[v26.08.0][] - 2026-09-01
-------------------------
Expand Down
17 changes: 12 additions & 5 deletions doc/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,21 @@ body {
--md-primary-bg-color: #5c5f5c;
}

/* Center Markdown Tables (requires md_in_html extension) */
.center-table {
/* Center all Markdown tables, like figures */
.md-typeset .md-typeset__scrollwrap {
text-align: center;
}

.md-typeset .center-table :is(td,th):not([align]) {
/* Reset alignment for table cells */
text-align: initial;
/* Material forces a 5rem minimum width on header cells, which makes
* narrow numeric tables sprawl past the page. Fit headers to content. */
.md-typeset table:not([class]) th {
min-width: 0;
}

/* Material's 1.4 line height leaves gaps between box-drawing characters
* in CLI output and diagrams. Applies to code blocks as a whole. */
.md-typeset pre {
line-height: 1.15;
}

/* CLI terminal output styling */
Expand Down
4 changes: 4 additions & 0 deletions doc/img/qos-pipeline.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading