diff options
| author | Felix Fietkau | 2022-03-17 08:00:48 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2022-03-17 08:01:03 +0000 |
| commit | 1ab53d4ca601ed4ff5f2a1ac4effc4de809cc33b (patch) | |
| tree | 179896246d1e1f3d2c25dd304a4707cf692bebd9 | |
| parent | 6aeeddbc91ad08943f9d687c252e78987b8c1121 (diff) | |
| download | qosify-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.c | 10 |
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"; |