[dpdk-dev] Why rte_pipeline.c only support forwarding to same table in different entries?

Shyam Shrivastav shrivastav.shyam at gmail.com
Thu Jun 7 16:02:42 CEST 2018


Looking at code, another change might make this work. Make sure that
default entry action of each table points to next table except for last one
which normally should be drop

Please look at if (lookup_miss_mask != 0)  handling in rte_pipeline_run ()

.



On Thu, Jun 7, 2018 at 12:49 PM, hongbo liu <cnliuhb at gmail.com> wrote:

> Hi,
>
> I am frustrated when designing pipeline table.
>
> I am trying to have one ACL table 0 to forward different traffic to
> different table, but it failed.
>
> And I noticed that the following checks in rte_pipeline.c:
> /****************************************************************
> if ((entry->action == RTE_PIPELINE_ACTION_TABLE) &&
> table->table_next_id_valid &&
> (entry->table_id != table->table_next_id)) {
> RTE_LOG(ERR, PIPELINE,
> "%s: Tree-like topologies not allowed\n", __func__);
> return -EINVAL;
> }
> ****************************************************************/
>
> Is there any reason why adding this limitation?
>
> In openflow, the limitation is the forward table_id must be larger than
> current table_id, and the final
> table should not have forward table action.
>
> By the way, it still does not work after removing upper checks.
>
> Is it difficult to support forwarding to multiple tables in different
> entries?
>
> --
> Hobby
>


More information about the dev mailing list