On Thu, Mar 5, 2020 at 10:14 PM Coyle, David <david.co...@intel.com> wrote:
>
> Having taken feedback from the community into account, we would like to 
> propose some changes to our approach for combining multiple packet-processing 
> functions into a single operation on a single device, be that an optimized 
> software library or a hardware accelerator.

> Note that development work is already progressing well on this new approach, 
> with the aim of upstreaming this into DPDK v20.05.
>
> Also, we may consider consolidating the multi-function API into the main DPDK 
> library in the future if there were more devices which wanted to support 
> these multi-function operations.
>
> The following is the proposed rawdev multi-function interface, defined in 
> 'drivers/raw/common/rte_rawdev_multi_fn.h'
>
> /* SPDX-License-Identifier: BSD-3-Clause
>  * Copyright(c) 2020 Intel Corporation.
>  */
>
> #ifndef _RTE_RAWDEV_MULTI_FN_H_
> #define _RTE_RAWDEV_MULTI_FN_H_
>
> #ifdef __cplusplus
> extern "C" {
> #endif
>
> #include <rte_compat.h>
> #include <rte_common.h>
> #include <rte_mbuf.h>
> #include <rte_memory.h>
> #include <rte_mempool.h>
> #include <rte_comp.h>
> #include <rte_crypto.h>
> #include <rte_rawdev.h>
>
> /** Error Detection Algorithms */
> enum rte_rawdev_multi_fn_err_detect_algorithm {
>         RTE_RAWDEV_MULTI_FN_ERR_DETECT_CRC32_ETH,

IMO, It does not make sense to add protocol specific stuff in rawdev symbols.

IMO, It is better to have a separate library for CRC and BIP32
acceleration like the rte_security library and
underneath still it can use rawdev or anydev if required.

IMO, Exposing the public API in
drivers/raw/common/rte_rawdev_multi_fn.h is a shortcut.
IMO, public API should be in lib/..

Just my 2c.

Reply via email to