[openwrt/openwrt] ucode-mod-bpf: add support for passing classid for tc attached programs

LEDE Commits lede-commits at lists.infradead.org
Thu Jul 31 08:34:30 PDT 2025


nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/8873e26c683d21b200562120516a87763d84ee50

commit 8873e26c683d21b200562120516a87763d84ee50
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Jul 31 17:31:13 2025 +0200

    ucode-mod-bpf: add support for passing classid for tc attached programs
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 package/utils/ucode-mod-bpf/src/bpf.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/package/utils/ucode-mod-bpf/src/bpf.c b/package/utils/ucode-mod-bpf/src/bpf.c
index deb2e6ac2a..33641ddfb2 100644
--- a/package/utils/ucode-mod-bpf/src/bpf.c
+++ b/package/utils/ucode-mod-bpf/src/bpf.c
@@ -620,7 +620,7 @@ uc_bpf_map_pin(uc_vm_t *vm, size_t nargs)
 
 static uc_value_t *
 uc_bpf_set_tc_hook(uc_value_t *ifname, uc_value_t *type, uc_value_t *prio,
-		   int fd)
+		   uc_value_t *classid, int fd)
 {
 	DECLARE_LIBBPF_OPTS(bpf_tc_hook, hook);
 	DECLARE_LIBBPF_OPTS(bpf_tc_opts, attach_tc,
@@ -657,6 +657,7 @@ uc_bpf_set_tc_hook(uc_value_t *ifname, uc_value_t *type, uc_value_t *prio,
 		goto out;
 
 	attach_tc.prog_fd = fd;
+	attach_tc.classid = ucv_int64_get(classid);
 	if (bpf_tc_attach(&hook, &attach_tc) < 0)
 		goto error;
 
@@ -676,11 +677,12 @@ uc_bpf_program_tc_attach(uc_vm_t *vm, size_t nargs)
 	uc_value_t *ifname = uc_fn_arg(0);
 	uc_value_t *type = uc_fn_arg(1);
 	uc_value_t *prio = uc_fn_arg(2);
+	uc_value_t *classid = uc_fn_arg(3);
 
 	if (!f)
 		err_return(EINVAL, NULL);
 
-	return uc_bpf_set_tc_hook(ifname, type, prio, f->fd);
+	return uc_bpf_set_tc_hook(ifname, type, prio, classid, f->fd);
 }
 
 static uc_value_t *
@@ -690,7 +692,7 @@ uc_bpf_tc_detach(uc_vm_t *vm, size_t nargs)
 	uc_value_t *type = uc_fn_arg(1);
 	uc_value_t *prio = uc_fn_arg(2);
 
-	return uc_bpf_set_tc_hook(ifname, type, prio, -1);
+	return uc_bpf_set_tc_hook(ifname, type, prio, NULL, -1);
 }
 
 static int




More information about the lede-commits mailing list