lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sat,  4 May 2019 04:46:15 -0700
From:   Jakub Kicinski <jakub.kicinski@...ronome.com>
To:     davem@...emloft.net
Cc:     netdev@...r.kernel.org, oss-drivers@...ronome.com,
        jiri@...nulli.us, xiyou.wangcong@...il.com, idosch@...lanox.com,
        f.fainelli@...il.com, andrew@...n.ch, vivien.didelot@...il.com,
        gerlitz.or@...il.com, simon.horman@...ronome.com,
        Jakub Kicinski <jakub.kicinski@...ronome.com>
Subject: [PATCH net-next 00/13] net: act_police offload support

Hi,

this set starts by converting cls_matchall to the new flow offload
infrastructure. It so happens that all drivers implementing cls_matchall
offload today also offload cls_flower, so its a little easier for
them to handle the actions in unified flow_rule format, even though
in cls_matchall there is no flow to speak of. If a driver ever appears
which would prefer the old, direct access to TC exts, we can add the
pointer in the offload structure back and support both.

Next the act_police is added to actions supported by flow offload API.

NFP support for act_police offload is added as the final step.  The flower
firmware is configured to perform TX rate limiting in a way which matches
act_police's behaviour.  It does not use DMA.IN back pressure, and
instead	drops packets after they had been already DMAed into the NIC.
IOW it uses our standard traffic policing implementation, future patches
will extend it to other ports and traffic directions.

Pieter Jansen van Vuuren (13):
  net/sched: add sample action to the hardware intermediate
    representation
  net/sched: use the hardware intermediate representation for matchall
  mlxsw: use intermediate representation for matchall offload
  net/dsa: use intermediate representation for matchall offload
  net/sched: remove unused functions for matchall offload
  net/sched: move police action structures to header
  net/sched: add police action to the hardware intermediate
    representation
  net/sched: extend matchall offload for hardware statistics
  net/sched: allow stats updates from offloaded police actions
  net/sched: add block pointer to tc_cls_common_offload structure
  nfp: flower: add qos offload framework
  nfp: flower: add qos offload install and remove functionality.
  nfp: flower: add qos offload stats request and reply

 .../net/ethernet/mellanox/mlxsw/spectrum.c    |  38 +-
 drivers/net/ethernet/netronome/nfp/Makefile   |   3 +-
 .../net/ethernet/netronome/nfp/flower/cmsg.c  |   3 +
 .../net/ethernet/netronome/nfp/flower/cmsg.h  |   3 +
 .../net/ethernet/netronome/nfp/flower/main.c  |   6 +
 .../net/ethernet/netronome/nfp/flower/main.h  |  29 ++
 .../ethernet/netronome/nfp/flower/offload.c   |   3 +
 .../ethernet/netronome/nfp/flower/qos_conf.c  | 366 ++++++++++++++++++
 include/net/flow_offload.h                    |  23 ++
 include/net/pkt_cls.h                         |  36 +-
 include/net/tc_act/tc_police.h                |  70 ++++
 net/dsa/slave.c                               |  16 +-
 net/sched/act_police.c                        |  52 +--
 net/sched/cls_api.c                           |  14 +
 net/sched/cls_bpf.c                           |   7 +-
 net/sched/cls_flower.c                        |  11 +-
 net/sched/cls_matchall.c                      |  65 +++-
 net/sched/cls_u32.c                           |  17 +-
 18 files changed, 654 insertions(+), 108 deletions(-)
 create mode 100644 drivers/net/ethernet/netronome/nfp/flower/qos_conf.c
 create mode 100644 include/net/tc_act/tc_police.h

-- 
2.21.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ