mbox series

[net-next,v4,0/8] net: sched: add extack support for cls offloads

Message ID 20180120014450.29666-1-jakub.kicinski@netronome.com
Headers show
Series net: sched: add extack support for cls offloads | expand

Message

Jakub Kicinski Jan. 20, 2018, 1:44 a.m. UTC
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(-)

Comments

David Miller Jan. 22, 2018, 9:32 p.m. UTC | #1
From: Jakub Kicinski <jakub.kicinski@netronome.com>
Date: Fri, 19 Jan 2018 17:44:42 -0800

> 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.

Series applied, thanks Jakub.