Hi! This series adds extack to cls offloads, as such it could arguably be targeted at net-next. Unfortunately, git am is not able to deal cleanly with minor conflicts on the nfp patches.. Since the series is really about cls_bpf I hope it's OK if it went via the bpf-next tree.
There is a very minor conflict with Jiri's series, but if this goes via bpf-next, git will be able to deal with it on merge without a fuss. Quentin says: This series tries to improve user experience when eBPF hardware offload hits error paths at load time. In particular, it introduces netlink extended ack support in the nfp driver. To that aim, transmission of the pointer to the extack object is piped through the `change()` operation of the existing classifiers (patch 1 to 6). Then it is used for TC offload in the nfp driver (patch 8) and in netdevsim (patch 9, selftest in patch 10). Patch 7 adds a helper to handle extack messages in the core when TC offload is disabled on the net device. For completeness extack is propagated for classifiers other than cls_bpf, but it's up to the drivers to make use of it. Quentin Monnet (11): net: sched: add extack support to change() classifier operation net: sched: cls_flower: propagate extack support for filter offload net: sched: cls_matchall: propagate extack support for filter offload net: sched: cls_u32: propagate extack support for filter offload net: sched: cls_bpf: plumb extack support in filter for hardware offload net: sched: add extack support for offload via tc_cls_common_offload net: sched: create tc_can_offload_extack() wrapper nfp: bpf: plumb extack into functions related to XDP offload nfp: bpf: use extack support to improve debugging netdevsim: add extack support for TC eBPF offload selftests/bpf: add checks on extack messages for eBPF hw offload tests drivers/net/ethernet/netronome/nfp/bpf/main.c | 35 +++++-- drivers/net/ethernet/netronome/nfp/bpf/main.h | 2 +- drivers/net/ethernet/netronome/nfp/bpf/offload.c | 24 +++-- drivers/net/ethernet/netronome/nfp/nfp_app.h | 9 +- .../net/ethernet/netronome/nfp/nfp_net_common.c | 2 +- drivers/net/netdevsim/bpf.c | 35 +++++-- include/net/pkt_cls.h | 16 +++- include/net/sch_generic.h | 3 +- net/sched/cls_api.c | 3 +- net/sched/cls_basic.c | 3 +- net/sched/cls_bpf.c | 20 ++-- net/sched/cls_cgroup.c | 3 +- net/sched/cls_flow.c | 2 +- net/sched/cls_flower.c | 14 +-- net/sched/cls_fw.c | 2 +- net/sched/cls_matchall.c | 12 ++- net/sched/cls_route.c | 3 +- net/sched/cls_rsvp.h | 2 +- net/sched/cls_tcindex.c | 3 +- net/sched/cls_u32.c | 21 +++-- tools/testing/selftests/bpf/test_offload.py | 104 +++++++++++++++------ 21 files changed, 221 insertions(+), 97 deletions(-) -- 2.15.1