On Mon, Oct 16, 2023 at 10:01 AM Davide Caratti <dcaratti@xxxxxxxxxx> wrote: > > 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? sigh. So much history there. I recommend SKB_DROP_REASON_TC_MIRRED_TO_HOUSTON /me runs cheers, jamal > thanks, > -- > davide > > [1] https://lore.kernel.org/netdev/Yt2CIl7iCoahCPoU@pop-os.localdomain/ >