[dpdk-dev] [PATCH v2 1/2] app/testpmd: support the heavywight mode GRO
Ferruh Yigit
ferruh.yigit at intel.com
Mon Aug 21 13:03:43 CEST 2017
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 <jiayu.hu at intel.com>
<...>
> lcoreid_t cpuid_idx; /**< index of logical core in CPU id table */
> @@ -434,13 +436,21 @@ extern struct ether_addr peer_eth_addrs[RTE_MAX_ETHPORTS];
> extern uint32_t burst_tx_delay_time; /**< Burst tx delay time(us) for mac-retry. */
> extern uint32_t burst_tx_retry_num; /**< Burst tx retry number for mac-retry. */
>
> +#define GRO_HEAVYMODE 0x1
> +#define GRO_LIGHTMODE 0x2
Why these are not part of the gro library?
Is the concept "lightweight mode and heavyweight mode" part of gro
library or implemented only in testpmd?
> +
> #define GRO_DEFAULT_FLOW_NUM 4
> #define GRO_DEFAULT_ITEM_NUM_PER_FLOW DEF_PKT_BURST
> +
> +#define GRO_DEFAULT_FLUSH_INTERVAL 2
> +#define GRO_MAX_FLUSH_INTERVAL 4
> +
> struct gro_status {
> struct rte_gro_param param;
> uint8_t enable;
> };
> extern struct gro_status gro_ports[RTE_MAX_ETHPORTS];
> +extern uint32_t gro_flush_interval;
<...>
More information about the dev
mailing list