summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2022-03-17 08:00:48 +0000
committerFelix Fietkau2022-03-17 08:01:03 +0000
commit1ab53d4ca601ed4ff5f2a1ac4effc4de809cc33b (patch)
tree179896246d1e1f3d2c25dd304a4707cf692bebd9
parent6aeeddbc91ad08943f9d687c252e78987b8c1121 (diff)
downloadqosify-1ab53d4ca601ed4ff5f2a1ac4effc4de809cc33b.tar.gz
bpf: return TC_ACT_UNSPEC to allow other filters to proceed
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--qosify-bpf.c10
1 files 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";