| eb3e2c11 | 10-Feb-2022 |
Cristian Dumitrescu <[email protected]> |
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: [email protected]
Signed-off-by: Cristian Dumitrescu <[email protected]> Signed-off-by: Harshad Narayane <[email protected]> Signed-off-by: Kamalakannan R <[email protected]> Signed-off-by: Venkata Suresh Kumar P <[email protected]>
show more ...
|
| 8f8f6c14 | 03-Dec-2021 |
Cristian Dumitrescu <[email protected]> |
pipeline: fix annotation checks
The checks for the table-only and default-only annotations were incorrect, as they were using the pipeline action ID instead of the table action ID for retrieving the
pipeline: fix annotation checks
The checks for the table-only and default-only annotations were incorrect, as they were using the pipeline action ID instead of the table action ID for retrieving the table action info. These checks are now corrected and pushed into the internal table_entry_check() function.
Fixes: cd79e0205824 ("pipeline: support action annotations") Cc: [email protected]
Signed-off-by: Cristian Dumitrescu <[email protected]> Signed-off-by: Yogesh Jangra <[email protected]>
show more ...
|
| dbce95e3 | 01-Dec-2021 |
Cristian Dumitrescu <[email protected]> |
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 <[email protected]> Signed-off-by: Harshad Narayane <[email protected]>
show more ...
|
| 54abd300 | 03-Nov-2021 |
David Marchand <[email protected]> |
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 <[email protected]> Acked-by: Cristian Dumitrescu <[email protected]>
show more ...
|
| 55095ccb | 21-Oct-2021 |
Yogesh Jangra <[email protected]> |
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: [email protected]
Signed-off-by: Yogesh Jangra <[email protected]> Acked-by: Cristian Dumitrescu <[email protected]>
show more ...
|
| 1c6571c8 | 13-Sep-2021 |
Cristian Dumitrescu <[email protected]> |
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 <[email protected]>
show more ...
|
| 724f3ef4 | 13-Sep-2021 |
Cristian Dumitrescu <[email protected]> |
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 <[email protected]>
show more ...
|
| d025528d | 13-Sep-2021 |
Cristian Dumitrescu <[email protected]> |
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 <[email protected]>
show more ...
|