On Sat, 14 Oct 2023 15:09:21 -0300 Victor Nogueira wrote: > Currently there is no way to distinguish between an error and a > classification verdict. Which has caused us a lot of pain with buggy qdiscs > and syzkaller. This patch does 2 things - one is it disambiguates between > an error and policy decisions. The reasons are added under the auspices of > skb drop reason. We add the drop reason as a part of struct tcf_result. > That way, tcf_classify can set a proper drop reason when it fails, > and we keep the classification result as the tcf_classify's return value. > > This patch also adds a variety of drop reasons which are more fine grained > on why a packet was dropped by the TC classification action subsystem. Looks like this mostly builds on top of Daniel's patches with some not-described additions like zeroing out res and cleaning up ifdefs. Let me apply Daniel's patches and you can refine the return codes on top.