Small comment,

> -----Original Message-----
> Signed-off-by: Nelio Laranjeiro <nelio.laranje...@6wind.com>
> ---
>  app/test-pmd/cmdline.c                      | 113 +++++++++++++++++
>  app/test-pmd/cmdline_flow.c                 | 129 ++++++++++++++++++++
>  app/test-pmd/testpmd.c                      |  15 +++
>  app/test-pmd/testpmd.h                      |  15 +++
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst |  14 +++
>  5 files changed, 286 insertions(+)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 93573606f..711914e53 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> +
> +static void cmd_set_nvgre_parsed(void *parsed_result,
> +     __attribute__((unused)) struct cmdline *cl,
> +     __attribute__((unused)) void *data)
> +{
> +     struct cmd_set_nvgre_result *res = parsed_result;
> +     uint32_t tni = rte_cpu_to_be_32(res->tni) >> 8;

Is this also correct in case of big endian system? 
I think it will  remove part of the tni.

> +
> +     if (strcmp(res->nvgre, "nvgre") == 0)
> +             nvgre_encap_conf.select_vlan = 0;
> +     else if (strcmp(res->nvgre, "nvgre-with-vlan") == 0)
> +             nvgre_encap_conf.select_vlan = 1;
> +     if (strcmp(res->ip_version, "ipv4") == 0)
> +             nvgre_encap_conf.select_ipv4 = 1;
> +     else if (strcmp(res->ip_version, "ipv6") == 0)
> +             nvgre_encap_conf.select_ipv4 = 0;
> +     else
> +             return;
> +     memcpy(nvgre_encap_conf.tni, &tni, 3);

I don't think this will work as expected in big endian system.

> +     if (nvgre_encap_conf.select_ipv4) {
> +             IPV4_ADDR_TO_UINT(res->ip_src,
> nvgre_encap_conf.ipv4_src);
> +             IPV4_ADDR_TO_UINT(res->ip_dst,
> nvgre_encap_conf.ipv4_dst);
> +     } else {
> +             IPV6_ADDR_TO_ARRAY(res->ip_src,
> nvgre_encap_conf.ipv6_src);
> +             IPV6_ADDR_TO_ARRAY(res->ip_dst,
> nvgre_encap_conf.ipv6_dst);
> +     }
> +     if (nvgre_encap_conf.select_vlan)
> +             nvgre_encap_conf.vlan_tci = rte_cpu_to_be_16(res->tci);
> +     memcpy(nvgre_encap_conf.eth_src, res->eth_src.addr_bytes,
> +            ETHER_ADDR_LEN);
> +     memcpy(nvgre_encap_conf.eth_dst, res->eth_dst.addr_bytes,
> +            ETHER_ADDR_LEN);
> +}
> +
> --
> 2.17.1


Best,
Ori

Reply via email to