app/testpmd: add command to select filtering GRE key size

Test commands are added to support selecting different length of GRE key.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
This commit is contained in:
Helin Zhang 2015-11-04 00:28:36 +08:00 committed by Thomas Monjalon
parent da0ab5da69
commit 34a068db14
2 changed files with 63 additions and 0 deletions

View File

@ -6739,6 +6739,57 @@ cmdline_parse_inst_t cmd_tunnel_udp_config = {
},
};
/* *** GLOBAL CONFIG *** */
struct cmd_global_config_result {
cmdline_fixed_string_t cmd;
uint8_t port_id;
cmdline_fixed_string_t cfg_type;
uint8_t len;
};
static void
cmd_global_config_parsed(void *parsed_result,
__attribute__((unused)) struct cmdline *cl,
__attribute__((unused)) void *data)
{
struct cmd_global_config_result *res = parsed_result;
struct rte_eth_global_cfg conf;
int ret;
memset(&conf, 0, sizeof(conf));
conf.cfg_type = RTE_ETH_GLOBAL_CFG_TYPE_GRE_KEY_LEN;
conf.cfg.gre_key_len = res->len;
ret = rte_eth_dev_filter_ctrl(res->port_id, RTE_ETH_FILTER_NONE,
RTE_ETH_FILTER_SET, &conf);
if (ret != 0)
printf("Global config error\n");
}
cmdline_parse_token_string_t cmd_global_config_cmd =
TOKEN_STRING_INITIALIZER(struct cmd_global_config_result, cmd,
"global_config");
cmdline_parse_token_num_t cmd_global_config_port_id =
TOKEN_NUM_INITIALIZER(struct cmd_global_config_result, port_id, UINT8);
cmdline_parse_token_string_t cmd_global_config_type =
TOKEN_STRING_INITIALIZER(struct cmd_global_config_result,
cfg_type, "gre-key-len");
cmdline_parse_token_num_t cmd_global_config_gre_key_len =
TOKEN_NUM_INITIALIZER(struct cmd_global_config_result,
len, UINT8);
cmdline_parse_inst_t cmd_global_config = {
.f = cmd_global_config_parsed,
.data = (void *)NULL,
.help_str = "global_config <port_id> gre-key-len <number>",
.tokens = {
(void *)&cmd_global_config_cmd,
(void *)&cmd_global_config_port_id,
(void *)&cmd_global_config_type,
(void *)&cmd_global_config_gre_key_len,
NULL,
},
};
/* *** CONFIGURE VM MIRROR VLAN/POOL RULE *** */
struct cmd_set_mirror_mask_result {
cmdline_fixed_string_t set;
@ -9579,6 +9630,7 @@ cmdline_parse_ctx_t main_ctx[] = {
(cmdline_parse_inst_t *)&cmd_vf_rate_limit,
(cmdline_parse_inst_t *)&cmd_tunnel_filter,
(cmdline_parse_inst_t *)&cmd_tunnel_udp_config,
(cmdline_parse_inst_t *)&cmd_global_config,
(cmdline_parse_inst_t *)&cmd_set_mirror_mask,
(cmdline_parse_inst_t *)&cmd_set_mirror_link,
(cmdline_parse_inst_t *)&cmd_reset_mirror_rule,

View File

@ -1812,3 +1812,14 @@ Set the input set for Fdir::
For example to add source IP to FD input set for flow type of ipv4 on port 0::
testpmd> set_fdir_input_set 0 ipv4 src-ipv4 add
global_config
~~~~~~~~~~~~~
Set different GRE key length for input set::
global_config (port_id) gre-key-len (number in bytes)
For example to set GRE key length for input set to 4 bytes on port 0::
testpmd> global_config 0 gre-key-len 4