[dpdk-dev] [PATCH] mbuf: remove redundant line in rte_pktmbuf_attach

Ilya Matveychikov matvejchikov at gmail.com
Tue Jan 24 16:57:13 CET 2017


> On Jan 24, 2017, at 4:56 PM, Olivier MATZ <olivier.matz at 6wind.com> wrote:
> 
> Hi,
> 
> On Sat, 21 Jan 2017 16:28:29 +0000, "Ananyev, Konstantin"
> <konstantin.ananyev at intel.com> wrote:
>>> -----Original Message-----
>>> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ilya
>>> Matveychikov Sent: Saturday, January 21, 2017 3:08 PM
>>> To: Yigit, Ferruh <ferruh.yigit at intel.com>
>>> Cc: dev at dpdk.org
>>> Subject: Re: [dpdk-dev] [PATCH] mbuf: remove redundant line in
>>> rte_pktmbuf_attach
>>> 
>>> 
>>>> On Jan 20, 2017, at 4:08 PM, Ferruh Yigit
>>>> <ferruh.yigit at intel.com> wrote:
>>>> 
>>>> On 1/20/2017 12:19 AM, Ilya Matveychikov wrote:  
>>>>> mi->next will be assigned to NULL few lines later, trivial patch
>>>>> 
>>>>> Signed-off-by: Ilya V. Matveychikov <matvejchikov at gmail.com>
>>>>> ---
>>>>> lib/librte_mbuf/rte_mbuf.h | 1 -
>>>>> 1 file changed, 1 deletion(-)
>>>>> 
>>>>> diff --git a/lib/librte_mbuf/rte_mbuf.h
>>>>> b/lib/librte_mbuf/rte_mbuf.h index ead7c6e..5589d54 100644
>>>>> --- a/lib/librte_mbuf/rte_mbuf.h
>>>>> +++ b/lib/librte_mbuf/rte_mbuf.h
>>>>> @@ -1139,7 +1139,6 @@ static inline void
>>>>> rte_pktmbuf_attach(struct rte_mbuf *mi, struct rte_mbuf *m)
>>>>> mi->buf_addr = m->buf_addr; mi->buf_len = m->buf_len;
>>>>> 
>>>>> -	mi->next = m->next;  
>>>> 
> 
> Fixes: ea672a8b1655 ("mbuf: remove the rte_pktmbuf structure")
> 
> Acked-by: Olivier Matz <olivier.matz at 6wind.com>
> 
> 
>>>> Do you know why attaching mbuf is not supporting multi-segment?  
>> 
>> This is supported, but you have to do it segment by segment.
>> Actually  rte_pktmbuf_clone() does that.
>> Konstantin
>> 
>> 
>>>> Perhaps this can be documented in function comment, as one of the
>>>> "not supported" items.  
>>> 
>>> No, I don’t know. For my application I’ve found that nb_segs with
>>> it’s limit in 256 segments is very annoying and I’ve decided not to
>>> use DPDK functions that dealt with nb_segs… But it is not about the
>>> rte_pktmbuf_attach() function and the patch. 
> 
> 
> Out of curiosity, can you explain why your application needs more
> than 256 segments? When we were discussing the possibility of extending
> this field to 16 bits, Konstantin convinced me that it was not so
> useful.

In my application I need to do IPv4 fragments reassembly. There is no explicit limit of number of fragments in datagram, so I’m trying to avoid any limitations and `nb_segs` here is a constraint for me. Expanding it from 8-bit to 16-bit can solve that issue for me. But I don’t remember are there any  other places in DPDK where we need to know how many segments are in the packet? I mean that is `nb_segs` required at all?



More information about the dev mailing list