On 8/16/2019 7:12 AM, vattun...@marvell.com wrote:
> From: Vamsi Attunuru <vattun...@marvell.com>
> 
> When KNI operates in IOVA = VA mode, it requires mbuf memory
> to be physically contiguous to ensure KNI kernel module could
> translate IOVA addresses properly. Patch adds a KNI specific
> mempool create routine to populate the KNI packet mbuf pool
> with memory objects that are being on a page.
> 
> KNI applications need to use this mempool create & free routines
> so that mbuf related requirements in IOVA = VA mode are handled
> inside those routines based on the enabled mode.
> 
> Updated the release notes with these new routine details.
> 
> Signed-off-by: Vamsi Attunuru <vattun...@marvell.com>

<...>

> @@ -975,7 +975,7 @@ main(int argc, char** argv)
>               rte_exit(EXIT_FAILURE, "Could not parse input parameters\n");
>  
>       /* Create the mbuf pool */
> -     pktmbuf_pool = rte_pktmbuf_pool_create("mbuf_pool", NB_MBUF,
> +     pktmbuf_pool = rte_kni_pktmbuf_pool_create("mbuf_pool", NB_MBUF,

This sample application is in our control but what about user applications?

If this is a must to switch to this API I think it should be at least documented
in the KNI documentation.

>               MEMPOOL_CACHE_SZ, 0, MBUF_DATA_SZ, rte_socket_id());
>       if (pktmbuf_pool == NULL) {
>               rte_exit(EXIT_FAILURE, "Could not initialise mbuf pool\n");
> @@ -1043,6 +1043,9 @@ main(int argc, char** argv)
>                       continue;
>               kni_free_kni(port);
>       }
> +
> +     rte_kni_pktmbuf_pool_free(pktmbuf_pool);
> +
>       for (i = 0; i < RTE_MAX_ETHPORTS; i++)
>               if (kni_port_params_array[i]) {
>                       rte_free(kni_port_params_array[i]);
> diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
> index ab15d10..5e3dd01 100644
> --- a/lib/librte_kni/Makefile
> +++ b/lib/librte_kni/Makefile
> @@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
>  # library name
>  LIB = librte_kni.a
>  
> +CFLAGS += -DALLOW_EXPERIMENTAL_API

Can you please list the experimental APIs called that requires this flag as
commented, same for meson. This is to help how to know this flag later.

<...>

> @@ -20,4 +20,6 @@ EXPERIMENTAL {
>       global:
>  
>       rte_kni_update_link;
> +     rte_kni_pktmbuf_pool_create;
> +     rte_kni_pktmbuf_pool_free;

Can you please add comment on which DPDK version these APIs added, like done is
"lib/librte_eal/rte_eal_version.map"

>  };
> 

Reply via email to