octeon: add support for vnet generic flow type 15/40615/7
authorSriram Vatala <svatala@marvell.com>
Tue, 12 Mar 2024 04:22:00 +0000 (04:22 +0000)
committerDamjan Marion <dmarion@0xa5.net>
Mon, 10 Jun 2024 13:07:01 +0000 (13:07 +0000)
commit282f2ecd8e7d68b9930d6f1e2c62205c9dfe8285
treeee550f8aca91c99e990b6a70f8a8de15cd34a4b3
parentb26b2bcd43500f2cf8b988874c7e0feb29e99afa
octeon: add support for vnet generic flow type

This patch adds vnet generic flow type support in OCTEON plugin, which
extends the existing vnet flow types supported. It allows users to
configure additional match patterns like 802.1q tag fields, 802.1ad tag
fields, MPLS fields, IP DSCP etc., if supported by the underlying hardware.
On OCTEON various match patterns including user defined custom protocol
types can be supported depending on the programmable classification profile.
Generic flows operate based on hexadecimal strings representing packet
data bytes and corresponding mask data bytes. The mask data bytes, with
bits set to '1', selectively identify the data bytes used for hardware
flow matching.

To configure generic flow rules, packetforge tool is recommended which
accepts inputs in a user readable and friendly format. This tool is
available in VPP tree under `extras/packetforge`. Detailed instructions
can be found in the documentation under `extras/packetforge`. Additionally
user can use existing vnet flow CLI and binary API interfaces to
configure rules manually.

Type: feature

Change-Id: I8198536cf1fe0a4719542a8b54c599230c7852e9
Signed-off-by: Sriram Vatala <svatala@marvell.com>
src/plugins/dev_octeon/flow.c
src/plugins/dev_octeon/octeon.h