History log of /dpdk/lib/pipeline/rte_swx_pipeline.c (Results 26 – 50 of 77)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 92f2944d 20-May-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: support hash functions

Add support for hash functions that compute a signature for an array
of bytes read from a packet header or meta-data. Useful for flow
affinity-based load balancing.

pipeline: support hash functions

Add support for hash functions that compute a signature for an array
of bytes read from a packet header or meta-data. Useful for flow
affinity-based load balancing.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# e2ecc535 20-May-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: improve learner table timers

Enable the pipeline to use the improved learner table timer operation
through the new "rearm" instruction.

Signed-off-by: Cristian Dumitrescu <cristian.dumitr

pipeline: improve learner table timers

Enable the pipeline to use the improved learner table timer operation
through the new "rearm" instruction.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 8186c0bb 20-May-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

table: improve learner table timers

Previously, on lookup hit, the hit key had its timer automatically
rearmed with the same timeout in order to prevent its expiration. Now,
a broader set of actions

table: improve learner table timers

Previously, on lookup hit, the hit key had its timer automatically
rearmed with the same timeout in order to prevent its expiration. Now,
a broader set of actions is available on lookup hit, which has to be
managed explicitly: the key can have its timer rearmed with the same
or with a different timeout, or the key timer can be left unmodified.
The latter option allows the key to expire naturally when the timer
eventually runs out, unless the key is hit again and its timer rearmed
at that point. Needed by the TCP connection tracking state machine.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 5ec76d29 06-Apr-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: support packet recirculation

Add support for packet recirculation. The current packet is flagged
for recirculation using the new "recirculate" instruction; on TX, this
flag causes the pack

pipeline: support packet recirculation

Add support for packet recirculation. The current packet is flagged
for recirculation using the new "recirculate" instruction; on TX, this
flag causes the packet to execute the full pipeline again as if it was
a new packet, except the packet meta-data is preserved. The new
"recircid" instruction can be used to read the pass number in case the
packet goes several times through the pipeline.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# dac0ecd9 06-Apr-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: support packet mirroring

The packet mirroring is configured through slots and sessions, with
the number of slots and sessions set at init.

The new "mirror" instruction assigns one of the

pipeline: support packet mirroring

The packet mirroring is configured through slots and sessions, with
the number of slots and sessions set at init.

The new "mirror" instruction assigns one of the existing sessions to a
specific slot, which results in scheduling a mirror operation for the
current packet to be executed later at the time the packet is either
transmitted or dropped.

Several copies of the same input packet can be mirrored to different
output ports by using multiple slots.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Kamalakannan R <kamalakannan.r@intel.com>

show more ...


# 73d94b00 11-Apr-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: support default action arguments

Add support for arguments to the default action of regular and learner
tables at initialization time. Until now, only default actions with no
arguments wer

pipeline: support default action arguments

Add support for arguments to the default action of regular and learner
tables at initialization time. Until now, only default actions with no
arguments were accepted in the .spec file.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>

show more ...


# 30a1de10 15-Feb-2022 Sean Morrissey <sean.morrissey@intel.com>

lib: remove unneeded header includes

These header includes have been flagged by the iwyu_tool
and removed.

Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>


Revision tags: v22.03-rc1
# 2a11b503 11-Feb-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: support checksum for variable size headers

Added checksum support for variable size headers such as IPv4 headers
with options.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@inte

pipeline: support checksum for variable size headers

Added checksum support for variable size headers such as IPv4 headers
with options.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>
Signed-off-by: Harshad Narayane <harshad.suresh.narayane@intel.com>

show more ...


# eb3e2c11 10-Feb-2022 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: fix table state memory allocation

The regular tables, selector tables and learner tables are all sharing
the table state array. The locations in this array were computed
incorrectly, leadi

pipeline: fix table state memory allocation

The regular tables, selector tables and learner tables are all sharing
the table state array. The locations in this array were computed
incorrectly, leading to memory corruption issues.

Fixes: 4f59d3726147 ("pipeline: support learner tables")
Cc: stable@dpdk.org

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Harshad Narayane <harshad.suresh.narayane@intel.com>
Signed-off-by: Kamalakannan R <kamalakannan.r@intel.com>
Signed-off-by: Venkata Suresh Kumar P <venkata.suresh.kumar.p@intel.com>

show more ...


# dbce95e3 01-Dec-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: add check against loops

Detect when a jump instruction, either conditional or unconditional,
is jumping to itself, thus creating a loop, which is not allowed in
data plane code.

Signed-of

pipeline: add check against loops

Detect when a jump instruction, either conditional or unconditional,
is jumping to itself, thus creating a loop, which is not allowed in
data plane code.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Harshad Narayane <harshad.suresh.narayane@intel.com>

show more ...


# 96b37959 27-Nov-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: add drop port for each pipeline

An additional output port is now implicitly created for every pipeline
to serve as the packet drop port. Up to now, the drop port had to be
explicitly creat

pipeline: add drop port for each pipeline

An additional output port is now implicitly created for every pipeline
to serve as the packet drop port. Up to now, the drop port had to be
explicitly created for each pipeline.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>

show more ...


# f23feb06 27-Nov-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: move table type registration to library

Move the table type registration for the well known table types from
the application to the pipeline library.

Signed-off-by: Cristian Dumitrescu <c

pipeline: move table type registration to library

Move the table type registration for the well known table types from
the application to the pipeline library.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>

show more ...


# 6e4a64c8 27-Nov-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: move port type registration to library

Move the port type registration for the well known port types from the
application to the pipeline library.

Signed-off-by: Cristian Dumitrescu <cris

pipeline: move port type registration to library

Move the port type registration for the well known port types from the
application to the pipeline library.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>

show more ...


# c07aaa65 27-Nov-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: improve drop instruction

The output port to be used as the drop port is now determined when the
drop instruction is executed as opposed to being statically determined
at instruction transl

pipeline: improve drop instruction

The output port to be used as the drop port is now determined when the
drop instruction is executed as opposed to being statically determined
at instruction translation time and hardcoded in the opcode.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>

show more ...


Revision tags: v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2
# 54abd300 03-Nov-2021 David Marchand <david.marchand@redhat.com>

pipeline: remove unreachable branch

A previous change blamed it on compiler/ASan, while this is a real
(yet minor) issue.

This return -EINVAL is never reached since we test all combinations of
fidx

pipeline: remove unreachable branch

A previous change blamed it on compiler/ASan, while this is a real
(yet minor) issue.

This return -EINVAL is never reached since we test all combinations of
fidx and fcin booleans.
All branches end up with a return 0, factorize them.

Fixes: 84f5ac9418ea ("pipeline: fix build with ASan")
Fixes: f38913b7fb8e ("pipeline: add meter array to SWX")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 2ce3ccbe 27-Oct-2021 Yogesh Jangra <yogesh.jangra@intel.com>

pipeline: fix dead code

Fix minor dead code issue reported by Coverity.

Coverity issue: 373653
Fixes: e9d870 ("pipeline: add SWX pipeline tables")

Signed-off-by: Yogesh Jangra <yogesh.jangra@intel

pipeline: fix dead code

Fix minor dead code issue reported by Coverity.

Coverity issue: 373653
Fixes: e9d870 ("pipeline: add SWX pipeline tables")

Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


Revision tags: v21.11-rc1
# 84f5ac94 20-Oct-2021 Zhihong Peng <zhihongx.peng@intel.com>

pipeline: fix build with ASan

Code changes to avoid the following build error:
"Control reaches end of non-void function".

Signed-off-by: Xueqin Lin <xueqin.lin@intel.com>
Signed-off-by: Zhihong Pe

pipeline: fix build with ASan

Code changes to avoid the following build error:
"Control reaches end of non-void function".

Signed-off-by: Xueqin Lin <xueqin.lin@intel.com>
Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# cd79e020 18-Oct-2021 Yogesh Jangra <yogesh.jangra@intel.com>

pipeline: support action annotations

Enable restricting the scope of an action to regular table entries or
to the table default entry in order to support the P4 language
tableonly or defaultonly ann

pipeline: support action annotations

Enable restricting the scope of an action to regular table entries or
to the table default entry in order to support the P4 language
tableonly or defaultonly annotations.

Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 55095ccb 21-Oct-2021 Yogesh Jangra <yogesh.jangra@intel.com>

pipeline: fix instruction label check

The instruction_data array was incorrectly indexed, which resulted in
the array index getting out of bounds and sometimes segfault.

Fixes: a1711f (“pipeline: a

pipeline: fix instruction label check

The instruction_data array was incorrectly indexed, which resulted in
the array index getting out of bounds and sometimes segfault.

Fixes: a1711f (“pipeline: add SWX Rx and extract instructions“)
Cc: stable@dpdk.org

Signed-off-by: Yogesh Jangra <yogesh.jangra@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 175d213b 14-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: improve handling of learner action arguments

The arguments of actions that are learned are now specified as part of
the learn instruction as opposed to being statically specified as part
o

pipeline: improve handling of learner action arguments

The arguments of actions that are learned are now specified as part of
the learn instruction as opposed to being statically specified as part
of the learner table configuration.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 1c6571c8 13-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: enable pipeline compilation

Commit the pipeline changes when the compilation process is
successful: change the table lookup instructions to execute the action
function for each action, rep

pipeline: enable pipeline compilation

Commit the pipeline changes when the compilation process is
successful: change the table lookup instructions to execute the action
function for each action, replace the regular pipeline instructions
with the custom instructions.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# f898a475 13-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: build shared object for pipeline

Build the generated C file into a shared object library.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Cunming Liang <

pipeline: build shared object for pipeline

Build the generated C file into a shared object library.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>

show more ...


# 724f3ef4 13-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: generate custom instruction functions

Generate a C function for each custom instruction, which essentially
consolidate multiple regular instructions into a single function call.
The pipeli

pipeline: generate custom instruction functions

Generate a C function for each custom instruction, which essentially
consolidate multiple regular instructions into a single function call.
The pipeline program is split into groups of instructions, and a
custom instruction is generated for each group that has more than one
instruction. Special care is taken the instructions that can do thread
yield (RX, extern) and for those that can change the instruction
pointer (TX, near/far jump).

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# d025528d 13-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: generate action functions

Generate a C function for each action. For most instructions, the
associated inline function is called directly. Special care is taken
for TX, jump and return ins

pipeline: generate action functions

Generate a C function for each action. For most instructions, the
associated inline function is called directly. Special care is taken
for TX, jump and return instructions.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


# 216bc906 13-Sep-2021 Cristian Dumitrescu <cristian.dumitrescu@intel.com>

pipeline: export pipeline instructions to file

Export the array of translated instructions to a C file. There is one
such array per action and one for the pipeline.

Signed-off-by: Cristian Dumitres

pipeline: export pipeline instructions to file

Export the array of translated instructions to a C file. There is one
such array per action and one for the pipeline.

Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>

show more ...


1234