Hi!

I've dropped the tests from the series because test_offloads.py changes
will conflict with bpf-next patches.  I will send four more patches with
tests once bpf-next is merged back, hopefully still making it into 4.16 :)

v4:
 - rebase on top of Alex's changes.

---

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 (8):
  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

 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 +-
 include/net/pkt_cls.h                              | 16 +++++++++-
 net/sched/cls_bpf.c                                | 18 ++++++-----
 net/sched/cls_flower.c                             | 12 ++++----
 net/sched/cls_matchall.c                           | 10 ++++---
 net/sched/cls_u32.c                                | 18 +++++------
 10 files changed, 95 insertions(+), 51 deletions(-)

-- 
2.15.1

Reply via email to