hello Victor, thanks for the patch! On Sat, Oct 14, 2023 at 03:09:21PM -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. > > Co-developed-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > Signed-off-by: Victor Nogueira <victor@xxxxxxxxxxxx> > --- > > v1 -> v2: > - Make tcf_classify set drop reason instead of verdict in struct > tcf_result > - Make tcf_classify return verdict (as it was doing before) > - Only initialise struct tcf_result in tc_run > - Add new drop reasons specific to TC > - Merged v1 patch with Daniel's patch (https://lore.kernel.org/bpf/20231013141722.21165ef3@xxxxxxxxxx/T/) > for completeness Acked-by: Davide Caratti <dcaratti@xxxxxxxxxx> By the way, this might be a chance to remove the "TC mirred to Houston" printout and replace it with a proper drop reason (see [1]). WDYT? thanks, -- davide [1] https://lore.kernel.org/netdev/Yt2CIl7iCoahCPoU@pop-os.localdomain/