Re: [PATCH v2 net-next 00/10] net: ocelot: VCAP IS1 and ES0 support

From: Vladimir Oltean
Date: Tue Jun 02 2020 - 04:03:36 EST


Hi Xiaoliang,

On Tue, 2 Jun 2020 at 08:25, Xiaoliang Yang <xiaoliang.yang_1@xxxxxxx> wrote:
>
> This series patches adds support for VCAP IS1 and ES0 module, each VCAP
> correspond to a flow chain to offload.
>
> VCAP IS1 supports FLOW_ACTION_VLAN_MANGLE action to filter MAC, IP,
> VLAN, protocol, and TCP/UDP ports keys and retag vlian tag,
> FLOW_ACTION_PRIORITY action to classify packages to different Qos in hw.
>
> VCAP ES0 supports FLOW_ACTION_VLAN_PUSH action to filter vlan keys
> and push a specific vlan tag to frames.
>
> Changes since v1->v2:
> - Use different chain to assign rules to different hardware VCAP, and
> use action goto chain to express flow order.
> - Add FLOW_ACTION_PRIORITY to add Qos classification on VCAP IS1.
> - Multiple actions support.
> - Fix some code issues.
>
> Vladimir Oltean (3):
> net: mscc: ocelot: introduce a new ocelot_target_{read,write} API
> net: mscc: ocelot: generalize existing code for VCAP
> net: dsa: tag_ocelot: use VLAN information from tagging header when
> available
>
> Xiaoliang Yang (7):
> net: mscc: ocelot: allocated rules to different hardware VCAP TCAMs by
> chain index
> net: mscc: ocelot: change vcap to be compatible with full and quad
> entry
> net: mscc: ocelot: VCAP IS1 support
> net: mscc: ocelot: VCAP ES0 support
> net: mscc: ocelot: multiple actions support
> net: ocelot: return error if rule is not found
> net: dsa: felix: correct VCAP IS2 keys offset
>
> drivers/net/dsa/ocelot/felix.c | 2 -
> drivers/net/dsa/ocelot/felix.h | 2 -
> drivers/net/dsa/ocelot/felix_vsc9959.c | 202 +++++-
> drivers/net/ethernet/mscc/ocelot.c | 11 +
> drivers/net/ethernet/mscc/ocelot_ace.c | 729 ++++++++++++++++------
> drivers/net/ethernet/mscc/ocelot_ace.h | 26 +-
> drivers/net/ethernet/mscc/ocelot_board.c | 5 +-
> drivers/net/ethernet/mscc/ocelot_flower.c | 95 ++-
> drivers/net/ethernet/mscc/ocelot_io.c | 17 +
> drivers/net/ethernet/mscc/ocelot_regs.c | 21 +-
> drivers/net/ethernet/mscc/ocelot_s2.h | 64 --
> include/soc/mscc/ocelot.h | 39 +-
> include/soc/mscc/ocelot_vcap.h | 199 +++++-
> net/dsa/tag_ocelot.c | 29 +
> 14 files changed, 1105 insertions(+), 336 deletions(-)
> delete mode 100644 drivers/net/ethernet/mscc/ocelot_s2.h
>
> --
> 2.17.1
>

First of all, net-next has just closed yesterday and will be closed
for the following 2 weeks:
http://vger.kernel.org/~davem/net-next.html

Secondly, could you give an example of how different chains could
express the fact that rules are executed in parallel between the IS1,
IS2 and ES0 TCAMs?

Thanks,
-Vladimir