You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(network): preserve pre-existing root qdisc on tc-based attacks
Network attacks (delay, loss, corruption, bandwidth) on hosts where
the kernel had already attached a root qdisc to the target interface
(e.g. `mq` on GKE COS / EKS / AKS / RHCOS) previously failed with
`NLM_F_REPLACE needed to override`. Bump action_kit_commons to pick
up the `tc qdisc replace`-based apply path.
Propagate the preflight warnings returned by `netfault.Apply` to the
action Start result as Warn-level messages. The user sees a warning
when an interface has a user-installed root qdisc (htb, cake, ...)
that the kernel will not auto-restore on revert.
Add an e2e test (`network delay preserves pre-existing root qdisc`)
covering the two preflight branches: a veth interface with the
kernel-default `noqueue` (no warning expected) and a dummy with a
user-installed `htb` (warning expected). The apply path is kind-
agnostic so a single case per branch is enough; parser coverage
across qdisc kinds lives in netfault/preflight_test.go fixtures.
Note: the test deliberately does not assert which kind the kernel
attaches after `qdisc del root` — that's a kernel property dependent
on device flags (IFF_NO_QUEUE) and net.core.default_qdisc, not this
extension's behavior. We only assert that our injected `prio` is
gone.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# Changelog
2
2
3
+
## Unreleased
4
+
5
+
- Network attacks (delay, loss, corruption, bandwidth) now work on hosts where the kernel has already attached a root qdisc to the target interface (e.g. `mq` on GKE COS / EKS / AKS / RHCOS). Previously the attack failed to start with `NLM_F_REPLACE needed to override`.
6
+
- The kernel's default root qdisc (`mq`, `noqueue`, `fq_codel`, `pfifo_fast`, `fq`) is restored automatically after the attack ends. If the interface has a user-installed root qdisc (e.g. `htb`, `cake`), a warning is surfaced and the kernel default is restored on revert instead.
7
+
3
8
## v1.5.6
4
9
5
10
- DNS Error Injection: new `hostname` parameter to restrict injection to DNS queries with matching query names (exact, case-insensitive, IDN-aware); also exposes the new `hostname_filtered` metric in the live statistics widget
0 commit comments