[dpdk-dev] [PATCH v2] mbuf/ip_frag: Move mbuf chaining to common code

Ananyev, Konstantin konstantin.ananyev at intel.com
Tue Sep 8 01:21:49 CEST 2015



> -----Original Message-----
> From: Simon Kågström [mailto:simon.kagstrom at netinsight.net]
> Sent: Monday, September 07, 2015 1:41 PM
> To: Ananyev, Konstantin; dev at dpdk.org
> Cc: Olivier MATZ; Zhang, Helin; Gonzalez Monroy, Sergio; Burakov, Anatoly
> Subject: Re: [PATCH v2] mbuf/ip_frag: Move mbuf chaining to common code
> 
> On 2015-09-07 14:32, Ananyev, Konstantin wrote:
> >> +static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail)
> >> +{
> >> +	struct rte_mbuf *cur_tail;
> >> +
> >> +	/* Check for number-of-segments-overflow */
> >> +	if (head->nb_segs + tail->nb_segs >= sizeof(head->nb_segs) << 8)
> >> +		return -EOVERFLOW;
> >
> > Would probably be better 'sizeof(head->nb_segs) << CHAR_BIT', or even just: '  > UINT8_MAX'.
> > Konstantin
> 
> Thanks. I got it wrong anyway, what I wanted was to be able to handle
> the day when nb_segs changes to a 16-bit number, but then it should

Probably just me, but I can't foresee the situation when  we would need to increase nb_segs to 16 bits.
Looks like an overkill to me.
Konstantin


> really be
> 
>   ... >= 1 << (sizeof(head->nb_segs) * 8)
> 
> anyway. I'll fix that and also add a warning that the implementation
> will do a linear search to find the tail entry.
> 
> // Simon



More information about the dev mailing list