From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from www62.your-server.de (www62.your-server.de [213.133.104.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 833D2391E77; Tue, 30 Jun 2026 12:33:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.133.104.62 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782822816; cv=none; b=OjtTRbX2RhAd7th6M2jQHuDwogFIwSKnp3wWtMelDHaxmvrRpv3qk3A3Hy24ImnlFr3kgdCYlHZ4Qssb8nSqqu5968Jzmow7Psimov9NEs5ip6Ifu9W1AC0we4KpX/65FtXNPWsW+IIiRETNKhPhW49eaiN0HCVgbBnVxbyx0i0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782822816; c=relaxed/simple; bh=j/4atb9+pcESumLeAY7R129iJqrRFKgjemNXrb52HZY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=gx9c8DGqtweTCynWnfYQYWZsj8v6siTFUISL/quZ/dztPKBYO3A13b1AxJFjRpp8h98Ap/Ds++X0GmXzkkOVs9zzoVbCkkaIxwkDzxMgNxwNtI/YNW8cGbhgCJuPwOwvfPv6HfMFl/AOPEHgXBdWwMPSl6bDX3FxJ0TKQpTCLmA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iogearbox.net; spf=pass smtp.mailfrom=iogearbox.net; dkim=pass (2048-bit key) header.d=iogearbox.net header.i=@iogearbox.net header.b=qhzzuu2o; arc=none smtp.client-ip=213.133.104.62 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=iogearbox.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=iogearbox.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=iogearbox.net header.i=@iogearbox.net header.b="qhzzuu2o" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=iogearbox.net; s=default2302; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=z4p7hUd9/x0IqFiaZtRCAdL6WlP2+E1Y5oVefYB42/8=; b=qhzzuu2odfImJinNs9D/14O9nO AfQsvdbBfcOzurIzUsGKpsp7SnDuwYfuaUNzF+o90r3PUtUOrtqC+fRqmZWXuW90R4nqqwP8HUsNp QgGteBoTz4mVcQN3DiWN3K26gU+YQ1htP2J5MQNonnNjLCNuS6dT14T126ZVKf9VhKhrPvhwVby0U E6upjR5pbx8STpmWeSgn/MsYBrpL+wbClc0+JAYe1CJg+QQfHDqt+JyRJyxmPgek1g2dmsVc9sCI9 t/4a6fFsUYdrVXvVGHvcyNdJgASsdjPZrxRTOIpxLZvaJ2rjTww7M/fNpQ0/kDzu80VhDH4RJpXnB WsxxDXhQ==; Received: from localhost ([127.0.0.1]) by www62.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1weXee-000NcL-01; Tue, 30 Jun 2026 14:33:32 +0200 From: Daniel Borkmann To: kuba@kernel.org Cc: pabeni@redhat.com, jhs@mojatatu.com, bigeasy@linutronix.de, andrii@kernel.org, memxor@gmail.com, bpf@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH net 0/3] Fix broken TC_ACT_REDIRECT from qdiscs Date: Tue, 30 Jun 2026 14:33:28 +0200 Message-ID: <20260630123331.186840-1-daniel@iogearbox.net> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Virus-Scanned: Clear (ClamAV 1.4.3/28046/Mon Jun 29 08:27:20 2026) This is an alternative fix to [0] in order to not uglify __dev_queue_xmit() with sprinkled ifdefs given this can be simplified and isolated through a simple test into the BPF redirect helper itself. I've also added a proper BPF selftest, so there is no need to check-in a binary BPF object into selftests given we do have BPF infra for all of this. [0] https://lore.kernel.org/netdev/20260629102157.737306-1-jhs@mojatatu.com/ [1] https://lore.kernel.org/netdev/20260629102157.737306-4-jhs@mojatatu.com/ Daniel Borkmann (2): bpf: Reject redirect helpers without a bpf_net_context selftests/bpf: Add test for redirect from qdisc qevent block Jamal Hadi Salim (1): net/sched: Handle TC_ACT_REDIRECT from qdisc filter chains include/net/pkt_cls.h | 14 ++- net/core/filter.c | 17 ++- net/sched/cls_api.c | 6 +- net/sched/sch_cake.c | 2 +- net/sched/sch_drr.c | 2 +- net/sched/sch_dualpi2.c | 2 +- net/sched/sch_ets.c | 2 +- net/sched/sch_fq_codel.c | 2 +- net/sched/sch_fq_pie.c | 2 +- net/sched/sch_hfsc.c | 2 +- net/sched/sch_htb.c | 2 +- net/sched/sch_multiq.c | 2 +- net/sched/sch_prio.c | 2 +- net/sched/sch_qfq.c | 2 +- net/sched/sch_sfb.c | 2 +- net/sched/sch_sfq.c | 2 +- tools/testing/selftests/bpf/config | 1 + .../selftests/bpf/prog_tests/tc_qevent.c | 113 ++++++++++++++++++ .../selftests/bpf/progs/test_tc_qevent.c | 23 ++++ 19 files changed, 175 insertions(+), 25 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/tc_qevent.c create mode 100644 tools/testing/selftests/bpf/progs/test_tc_qevent.c -- 2.43.0