Re: [PATCH v2 1/2] app/testpmd: support the heavywight mode GRO
From: Ferruh Yigit <hidden>
Date: 2017-08-21 11:16:08
On 8/17/2017 10:08 AM, Jiayu Hu wrote:
The GRO library provides two reassembly modes: lightweight mode and heavyweight mode. This patch is to support the heavyweight mode in csum forwarding engine. With the command "set port <port_id> gro (heavymode|lightmode) (on|off)", users can select the lightweight mode or the heavyweight mode to use. With the command "set gro flush interval <num>", users can set the interval of flushing GROed packets from reassembly tables for the heavyweight mode. With the command "show port <port_id> gro", users can display GRO configuration. Signed-off-by: Jiayu Hu <redacted>
<...>
+ /* create a gro context for each lcore */
+ gro_param.gro_types = RTE_GRO_TCP_IPV4;
+ gro_param.max_flow_num = GRO_MAX_FLUSH_INTERVAL;
+ gro_param.max_item_per_flow = MAX_PKT_BURST;
+ for (lc_id = 0; lc_id < nb_lcores; lc_id++) {
+ gro_param.socket_id = rte_lcore_to_socket_id(
+ fwd_lcores_cpuids[lc_id]);
+ fwd_lcores[lc_id]->gro_ctx = rte_gro_ctx_create(&gro_param);The gro library .map file has wrong function name "rte_gro_ctrl_create" instead of "rte_gro_ctx_create". So this is giving a build error with shared library config. Both "rte_gro_ctrl_create" and "rte_gro_ctrl_destroy" need to be fixed.
+ if (fwd_lcores[lc_id]->gro_ctx == NULL) {
+ rte_exit(EXIT_FAILURE,
+ "rte_gro_ctx_create() failed\n");
+ }
+ }
}<...>