[dpdk-dev] [PATCH v4 2/6] lib: add distributor vector flow matching

Bruce Richardson bruce.richardson at intel.com
Mon Jan 16 17:40:08 CET 2017


On Mon, Jan 09, 2017 at 07:50:44AM +0000, David Hunt wrote:
> Signed-off-by: David Hunt <david.hunt at intel.com>
> ---
>  lib/librte_distributor/Makefile                    |   4 +
>  lib/librte_distributor/rte_distributor_burst.c     |  11 +-
>  lib/librte_distributor/rte_distributor_match_sse.c | 113 +++++++++++++++++++++
>  lib/librte_distributor/rte_distributor_priv.h      |   6 ++
>  4 files changed, 133 insertions(+), 1 deletion(-)
>  create mode 100644 lib/librte_distributor/rte_distributor_match_sse.c
> 
> diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
> index 2acc54d..a725aaf 100644
> --- a/lib/librte_distributor/Makefile
> +++ b/lib/librte_distributor/Makefile
> @@ -44,6 +44,10 @@ LIBABIVER := 1
>  # all source are stored in SRCS-y
>  SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor.c
>  SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_burst.c
> +ifeq ($(CONFIG_RTE_ARCH_X86),y)
> +SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_sse.c
> +endif
> +
>  
>  # install this header file
>  SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h
> diff --git a/lib/librte_distributor/rte_distributor_burst.c b/lib/librte_distributor/rte_distributor_burst.c
> index ae7cf9d..35044c4 100644
> --- a/lib/librte_distributor/rte_distributor_burst.c
> +++ b/lib/librte_distributor/rte_distributor_burst.c
> @@ -352,6 +352,9 @@ rte_distributor_process_burst(struct rte_distributor_burst *d,
>  		}
>  
>  		switch (d->dist_match_fn) {
> +		case RTE_DIST_MATCH_VECTOR:
> +			find_match_vec(d, &flows[0], &matches[0]);
> +			break;
>  		default:
>  			find_match_scalar(d, &flows[0], &matches[0]);
>  		}

Will link not fail on non-x86 platforms due to find_match_vec not having
any implementation on those platforms?

/Bruce


More information about the dev mailing list