From de4d54aa9709d17024956aee64fbc0ddf7fbbdc1 Mon Sep 17 00:00:00 2001 From: Peter Hedenskog Date: Thu, 5 Jun 2025 08:52:08 +0200 Subject: [PATCH] Try out ipv6 for tc and pfctl (on localhost) --- lib/localHostPfctl.js | 2 +- lib/tc.js | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/lib/localHostPfctl.js b/lib/localHostPfctl.js index 08daa81..199db65 100644 --- a/lib/localHostPfctl.js +++ b/lib/localHostPfctl.js @@ -20,7 +20,7 @@ export async function start(rtt) { ); await shell( - 'echo "dummynet out from any to 127.0.0.1 pipe 1" | sudo pfctl -f -' + 'echo "dummynet out inet from any to 127.0.0.1 pipe 1\ndummynet out inet6 from any to ::1 pipe 1" | sudo pfctl -f -' ); await sudo('pfctl', '-E'); diff --git a/lib/tc.js b/lib/tc.js index 4debd46..ca509c7 100644 --- a/lib/tc.js +++ b/lib/tc.js @@ -74,6 +74,30 @@ async function setup(defaultInterface) { 'dev', 'ifb0' ); + await sudo( + 'tc', + 'filter', + 'add', + 'dev', + defaultInterface, + 'parent', + 'ffff:', + 'protocol', + 'ipv6', + 'u32', + 'match', + 'u32', + '0', + '0', + 'flowid', + '1:1', + 'action', + 'mirred', + 'egress', + 'redirect', + 'dev', + 'ifb0' + ); } async function setLimits(up, down, halfWayRTT, packetLoss, indexFace) {