On Tuesday 05 February 2008 09:56, Kostya B wrote:
> 
> 1. Let's assume a driver which has a HW csum capability, however it has a 
> privilege to assign any value for ip_summed.
> For example the driver assigns "unnecessary" for most of the packets, however 
> it fails to verify the packets less than 96 bytes ("checksum_none").
> Now, the LRO will aggregate all of them and assign the value "used for all 
> aggregated packets" - that is wrong, 
> 
> Of course, it is possible to avoid that situation in driver, however 
> [proposal] from the point of view of the *generic* LRO it could be better to 
> check each newly aggregated skb whether it has the same ip_summed as the 
> first one (preserve coherency). Thus, there is no need to keep ip_summed 
> field in the  struct net_lro_mgr.

Yes, checking if ip_summed is equal for all aggregated packets would work
for the "aggregating SKB" mode. For the other mode this information is 
currently 
not passed to LRO but could of course be provided as parameter by the driver.
The question is if there is any HW which would benefit from this (meaning 
multiple
ip_summed values for TCP packets of different sizes) so that this additional
check is really useful. The less required checks the better.

> 
> 2. Now, when a skb could not be aggregated (modes: aggregating SKBs) I think 
> where's no need to override its original ip_summed (see "out" label of 
> __lro_proc_skb()) The comment says  "Original SKB has to be posted to stack". 
> I would be wrong, but I don't get the reason to possible change of ip_summed.
> 

Good point. This assignment seems to be unnecessary.

Regards,
Jan-Bernd
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to