Subject: Re: IP LRO

From: Evgeniy Polyakov <[email-masked]>
Date: Thu, 8 Jan 2009 12:17:56 +0300

Hi Yevgeny.

On Thu, Jan 08, 2009 at 10:54:27AM +0200, Yevgeny Petrilin ([email-masked]) wrote:
> We have recently implemented a reassembly of fragmented IP packets in
> mlx4_en driver. This offload gives a performance boost in case of incoming
> traffic with fragmented packets (such as UDP traffic with message size larger
> then MTU). The attached patch contains this offload. I believe that we can make
> this code generic, maybe part of inet_lro.
> Please review and comment.

Frankly from the patch it is quite hard to tell if it is suitable or not
for the generic usage. For example no structure access or lookup are
guarded with some locks, likely they are somewhere in the driver itself,
so at least it should be documented. Fragment structure can be
rearranged to better fit the alignment rules of the platform (there are
gaps even on 32bit). Please provide higher-level description on how it
operates compared to existing GRO/LRO (except that it is one layer lower),
how strcutres are operated, what are the lifetime rules for them and
appropriate skbs, what are the usage case. How will it live with
GRO/LRO, i.e. who will steal the skb if it matches both subsystems.

-- 
	Evgeniy Polyakov