[dpdk-dev] [PATCH 0/2] net/softnic: add flow classification support

Ferruh Yigit ferruh.yigit at intel.com
Thu Dec 7 22:02:19 CET 2017


On 11/30/2017 12:08 PM, Jasvinder Singh wrote:
> This patchset extends the softnic device by implementing
> the software fallback for flow classification as defined
> using Flow APIs. When feature is enabled, softnic classifies
> and executes actions on the received packets based on flow
> rules specified using rte_flow.h.
> 
> The motivation behind this feature is to implement metering
> and policing function in softnic which requires each flow to
> be classified at the preceding stage of the packet processing
> pipeline. Another aspect is to  support classification of the
> greater number of flows (For e.g. 64K) which is not feasible
> in some hardware due to resource limitation such as memory, etc.
> 
> This feature, inherently, uses the abstraction provided by dpdk
> librte_table library to create hash table for classification,
> and allows users to validate, add and delete flow rules. Current
> version does not implement all functions and will be completed
> in the next version.
> 
> Jasvinder Singh (2):
>   net/softnic: add flow classification support
>   net/softnic: add flow classification ops

Hi Jasvinder,

I was about to ask adding documentation for "software fallback for flow
classification" but it seems there is no documentation at all for softnic, it
seems we missed it, and softnic is a complex PMD which requires some
documentation I believe.
Can you please add documentation including new flow classification fallback info?

And I am getting some build errors [1][2].

Thanks,
ferruh

[1]
.../dpdk/drivers/net/softnic/rte_eth_softnic_fc.c:558:3: error: implicit
conversion from enumeration type 'enum rte_tm_error_type' to different
enumeration type 'enum rte_flow_error_type' [-Werror,-Wenum-conversion]
                RTE_TM_ERROR_TYPE_UNSPECIFIED,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/softnic/rte_eth_softnic_fc.c:577:3: error: implicit
conversion from enumeration type 'enum rte_tm_error_type' to different
enumeration type 'enum rte_flow_error_type' [-Werror,-Wenum-conversion]
                RTE_TM_ERROR_TYPE_UNSPECIFIED,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/softnic/rte_eth_softnic_fc.c:596:3: error: implicit
conversion from enumeration type 'enum rte_tm_error_type' to different
enumeration type 'enum rte_flow_error_type' [-Werror,-Wenum-conversion]
                RTE_TM_ERROR_TYPE_UNSPECIFIED,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2]
.../dpdk/drivers/net/softnic/rte_eth_softnic_fc.c: In function ‘pmd_flow_create’:
.../dpdk/drivers/net/softnic/rte_eth_softnic_fc.c:584:2: error: argument 1 null
where non-null expected [-Werror=nonnull]
  memcpy((void *)f->pattern, (const void *)pattern,  sizeof(*f->pattern));
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


More information about the dev mailing list