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:   Tue, 29 Sep 2020 13:09:55 +0300
From:   Vladimir Oltean <vladimir.oltean@....com>
To:     davem@...emloft.net
Cc:     alexandre.belloni@...tlin.com, andrew@...n.ch,
        f.fainelli@...il.com, vivien.didelot@...il.com,
        horatiu.vultur@...rochip.com, joergen.andreasen@...rochip.com,
        allan.nielsen@...rochip.com, alexandru.marginean@....com,
        claudiu.manoil@....com, xiaoliang.yang_1@....com,
        hongbo.wang@....com, netdev@...r.kernel.org, kuba@...nel.org,
        jiri@...nulli.us, idosch@...sch.org, UNGLinuxDriver@...rochip.com
Subject: [RFC PATCH v2 net-next 00/21] Offload tc-flower to mscc_ocelot switch using VCAP chains

The purpose of this patch is to add more comprehensive support for flow
offloading in the mscc_ocelot library and switch drivers.

The design (with chains) is the result of this discussion:
https://lkml.org/lkml/2020/6/2/203

Still posting as RFC because there might still be some bugs and missing
checks, and I would not like this to get merged before hearing some
feedback.

I have tested it on Seville VSC9953 and Felix VSC9959, but it should
also work on Ocelot-1 VSC7514.

Vladimir Oltean (17):
  net: mscc: ocelot: introduce a new ocelot_target_{read,write} API
  net: mscc: ocelot: generalize existing code for VCAP
  net: mscc: ocelot: auto-detect packet buffer size and number of frame
    references
  net: mscc: ocelot: automatically detect VCAP IS2 constants
  net: mscc: ocelot: add definitions for VCAP IS1 keys, actions and
    target
  net: mscc: ocelot: add definitions for VCAP ES0 keys, actions and
    target
  net: mscc: ocelot: auto-detect VCAP ES0 and IS1 parameters
  net: mscc: ocelot: parse flower action before key
  net: mscc: ocelot: offload multiple tc-flower actions in same rule
  net: mscc: ocelot: add a new ocelot_vcap_block_find_filter_by_id
    function
  net: mscc: ocelot: look up the filters in flower_stats() and
    flower_destroy()
  net: mscc: ocelot: introduce conversion helpers between port and
    netdev
  net: mscc: ocelot: create TCAM skeleton from tc filter chains
  net: mscc: ocelot: only install TCAM entries into a specific lookup
    and PAG
  net: mscc: ocelot: relax ocelot_exclusive_mac_etype_filter_rules()
  net: mscc: ocelot: offload redirect action to VCAP IS2
  selftests: ocelot: add some example VCAP IS1, IS2 and ES0 tc offloads

Xiaoliang Yang (4):
  net: mscc: ocelot: return error if VCAP filter is not found
  net: mscc: ocelot: change vcap to be compatible with full and quad
    entry
  net: mscc: ocelot: offload ingress skbedit and vlan actions to VCAP
    IS1
  net: mscc: ocelot: offload egress VLAN rewriting to VCAP ES0

 MAINTAINERS                                   |   1 +
 arch/mips/boot/dts/mscc/ocelot.dtsi           |   4 +-
 drivers/net/dsa/ocelot/felix.c                |  25 +-
 drivers/net/dsa/ocelot/felix.h                |   8 +-
 drivers/net/dsa/ocelot/felix_vsc9959.c        | 196 ++++-
 drivers/net/dsa/ocelot/seville_vsc9953.c      | 196 ++++-
 drivers/net/ethernet/mscc/ocelot.c            | 103 ++-
 drivers/net/ethernet/mscc/ocelot.h            |   2 +
 drivers/net/ethernet/mscc/ocelot_flower.c     | 559 +++++++++++++-
 drivers/net/ethernet/mscc/ocelot_io.c         |  17 +
 drivers/net/ethernet/mscc/ocelot_net.c        |  30 +
 drivers/net/ethernet/mscc/ocelot_s2.h         |  64 --
 drivers/net/ethernet/mscc/ocelot_vcap.c       | 713 ++++++++++++------
 drivers/net/ethernet/mscc/ocelot_vcap.h       |  98 ++-
 drivers/net/ethernet/mscc/ocelot_vsc7514.c    | 187 ++++-
 include/soc/mscc/ocelot.h                     |  59 +-
 include/soc/mscc/ocelot_qsys.h                |   3 +
 include/soc/mscc/ocelot_vcap.h                | 200 ++++-
 .../drivers/net/ocelot/test_tc_chains.sh      | 179 +++++
 19 files changed, 2193 insertions(+), 451 deletions(-)
 delete mode 100644 drivers/net/ethernet/mscc/ocelot_s2.h
 create mode 100755 tools/testing/selftests/drivers/net/ocelot/test_tc_chains.sh

-- 
2.25.1

Powered by blists - more mailing lists