octeon: add support for vnet generic flow type 74/41074/1
authorSriram Vatala <[email protected]>
Tue, 12 Mar 2024 04:22:00 +0000 (04:22 +0000)
committerMonendra Singh Kushwaha <[email protected]>
Mon, 10 Jun 2024 18:51:40 +0000 (18:51 +0000)
commit6e0f70a035e2d2d0db75e4bfa4ceb748a3c2259e
tree65d657d760672ff19074ed41a012293ed4ad5dd9
parentd8d3ad99af90fccac88a83a77f8676097568fb71
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 <[email protected]>
(cherry picked from commit 282f2ecd8e7d68b9930d6f1e2c62205c9dfe8285)
src/plugins/dev_octeon/flow.c
src/plugins/dev_octeon/octeon.h