[dpdk-dev] [RFC] Accelerator API to chain packet processing functions
Jerin Jacob
jerinjacobk at gmail.com
Fri Mar 6 10:06:11 CET 2020
On Thu, Mar 5, 2020 at 10:14 PM Coyle, David <david.coyle at 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.
More information about the dev
mailing list