All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: Beilei Xing <beilei.xing@intel.com>
Cc: wenzhuo.lu@intel.com, jingjing.wu@intel.com, dev@dpdk.org
Subject: Re: [PATCH] app/testpmd: support bitmask for RSS and FDIR
Date: Fri, 10 Aug 2018 09:15:09 +0530	[thread overview]
Message-ID: <20180810034507.GA3295@jerin> (raw)
In-Reply-To: <1533534335-119817-1-git-send-email-beilei.xing@intel.com>

-----Original Message-----
> Date: Mon, 6 Aug 2018 13:45:35 +0800
> From: Beilei Xing <beilei.xing@intel.com>
> To: wenzhuo.lu@intel.com, jingjing.wu@intel.com
> CC: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] app/testpmd: support bitmask for RSS and FDIR
> X-Mailer: git-send-email 2.5.5
> 
> 
> This patch adds bitmask support for RSS, FDIR
> and FDIR flexible payload.
> 
> Signed-off-by: Beilei Xing <beilei.xing@intel.com>
> ---
>  app/test-pmd/cmdline.c                      | 199 +++++++++++++++++++++++++---
>  doc/guides/testpmd_app_ug/testpmd_funcs.rst |   8 +-
>  2 files changed, 187 insertions(+), 20 deletions(-)
> 
> +#ifdef RTE_LIBRTE_I40E_PMD


How about moving all driver specific tests to driver/net/<driver>/?
I think, it wont scale if everyone starts adding their own
driver specific tests to testpmd.

How about creating 
#A generic string parser in testpmd?  something like,
port config (port_id) <driver name> ....
# and do driver_name to port_id lookup
# and introduce "test" or "self_test" ops in ethdev
# and call "test" op on the selected port_id


> +       if (!strcmp(res->inset_type, "hash_inset"))
> +               inset_type = INSET_HASH;
> +       else if (!strcmp(res->inset_type, "fdir_inset"))
> +               inset_type = INSET_FDIR;
> +       else if (!strcmp(res->inset_type, "fdir_flx_inset"))
> +               inset_type = INSET_FDIR_FLX;
> +       ret = rte_pmd_i40e_inset_get(res->port_id, res->pctype_id,
> +                                    &inset, inset_type);
> +       if (ret) {
> +               printf("Failed to get input set.\n");
> +               return;
> +       }
> +
> +       if (!strcmp(res->opt, "get")) {
> +               ret = rte_pmd_i40e_inset_field_get(inset.inset,
> +                                                  res->field_idx);
> +               if (ret) {
> +                       printf("Field index %d is enabled.\n", res->field_idx);
> +                       for (i = 0; i < 2; i++) {
> +                               if (inset.mask[i].field_idx == res->field_idx) {
> +                                       printf("Mask is: 0x%x\n",
> +                                              inset.mask[i].mask);
> +                                       break;
> +                               }
> +                       }
> +               } else {
> +                       printf("Field index %d is disabled.\n", res->field_idx);
> +               }
> +               return;
> +       } else if (!strcmp(res->opt, "clear")) {
> +               ret = rte_pmd_i40e_inset_field_clear(&inset.inset,
> +                                                    res->field_idx);
> +               if (ret) {
> +                       printf("Failed to clear input set field.\n");
> +                       return;
> +               }
> +               for (i = 0; i < 2; i++) {
> +                       if (inset.mask[i].field_idx == res->field_idx) {
> +                               inset.mask[i].mask = 0;
> +                               break;
> +                       }
> +               }
> +       }
> +
> +       ret = rte_pmd_i40e_inset_set(res->port_id, res->pctype_id,
> +                                    &inset, inset_type);
> +       if (ret) {
> +               printf("Failed to configure input set.\n");
> +               return;
> +       }
> +#endif
> +
> +       if (ret == -ENOTSUP)
> +               printf("Function not supported\n");
> +}

  parent reply	other threads:[~2018-08-10  3:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-06  5:45 [PATCH] app/testpmd: support bitmask for RSS and FDIR Beilei Xing
2018-08-06  9:30 ` Thomas Monjalon
2018-08-10  2:31   ` Xing, Beilei
2018-08-10  8:58     ` Thomas Monjalon
2018-08-13  7:29       ` Xing, Beilei
2018-08-10  3:45 ` Jerin Jacob [this message]
2018-08-10  7:37   ` Xing, Beilei
2018-08-10 12:08     ` Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180810034507.GA3295@jerin \
    --to=jerin.jacob@caviumnetworks.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=jingjing.wu@intel.com \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.