From 1ab53d4ca601ed4ff5f2a1ac4effc4de809cc33b Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 17 Mar 2022 09:00:48 +0100 Subject: [PATCH] bpf: return TC_ACT_UNSPEC to allow other filters to proceed Signed-off-by: Felix Fietkau --- qosify-bpf.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/qosify-bpf.c b/qosify-bpf.c index 0bddddf..54a1e38 100644 --- a/qosify-bpf.c +++ b/qosify-bpf.c @@ -478,7 +478,7 @@ int classify(struct __sk_buff *skb) config = get_config(); if (!config) - return TC_ACT_OK; + return TC_ACT_UNSPEC; if (module_flags & QOSIFY_IP_ONLY) type = skb->protocol; @@ -491,7 +491,7 @@ int classify(struct __sk_buff *skb) else if (type == bpf_htons(ETH_P_IPV6)) ip_val = parse_ipv6(config, skb, &offset, ingress, &dscp); else - return TC_ACT_OK; + return TC_ACT_UNSPEC; if (ip_val) { if (!ip_val->seen) @@ -500,13 +500,13 @@ int classify(struct __sk_buff *skb) } if (dscp_lookup_class(&dscp, ingress, &class)) - return TC_ACT_OK; + return TC_ACT_UNSPEC; if (class) { check_flow(&class->config, skb, &dscp); if (dscp_lookup_class(&dscp, ingress, &class)) - return TC_ACT_OK; + return TC_ACT_UNSPEC; } dscp &= GENMASK(5, 0); @@ -518,7 +518,7 @@ int classify(struct __sk_buff *skb) else if (type == bpf_htons(ETH_P_IPV6)) ipv6_change_dsfield(skb, iph_offset, INET_ECN_MASK, dscp, force); - return TC_ACT_OK; + return TC_ACT_UNSPEC; } char _license[] SEC("license") = "GPL"; -- 2.30.2