On Mon, Jul 03, 2017 at 05:56:20AM +0000, Hu, Jiayu wrote: > > > +/** > > > + * GRO table, which is used to merge packets. It keeps many reassembly > > > + * tables of desired GRO types. Applications need to create GRO tables > > > + * before using rte_gro_reassemble to perform GRO. > > > + */ > > > +struct gro_tbl { > > > + uint64_t desired_gro_types; /**< GRO types to perform */ > > > + /* max TTL measured in nanosecond */ > > > + uint64_t max_timeout_cycles; > > > + /* max length of merged packet measured in byte */ > > > + uint32_t max_packet_size; > > > + /* reassebly tables of desired GRO types */ > > > + void *tbls[RTE_GRO_TYPE_MAX_NUM]; > > > +}; > > > + > > > +void *rte_gro_tbl_create(const > > > + const struct rte_gro_param *param) > > > > The name of this API and the definition of struct gro_tbl involve some > > confusion. A gro table contains gro tables? I suppose a better name is > > needed, for example, struct gro_ctl. > > Actually, a GRO table includes N reassembly tables. But gro_tbl is not a good > name. I will change the name. Thanks.
Haven't looked at the details yet, but, probably, gro_ctx (context) is a better and more typical name? --yliu