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. 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. Regards, - Kostya ---------------------------------------- > From: [EMAIL PROTECTED] > To: [EMAIL PROTECTED] > Subject: Re: LRO ip_summed > Date: Mon, 4 Feb 2008 10:14:23 +0100 > CC: netdev@vger.kernel.org > > On Sunday 03 February 2008 10:48, Kostya B wrote: >> >> Hi, >> >> The mail is related to the way LRO manipulates the ip_summed value. Could >> anybody (author) explain why to overwrite the original value of >> skb->ip_summed, when it's processing by __lro_proc_skb ? >> E.g. in out: label >> >> Why not to preserve the coherency of csum status of each incoming to LRO >> packet, the same way the IP defragmentation does? That means - all skb in >> descriptor have the same value of ip_summed. >> > > Hi, > > I'm not sure if I understand your proposal correctly. > Currently the driver decides via the struct net_lro_mgr > a) which ip_summed value will be used for all aggregated packets > b) which one to use for those packets that can not be aggregated > > to a) this one should always be the same. The driver knows whether its HW is > capable of performing ip checksum checking for this kind of traffic > (TCP) > > There are two modes: aggregating SKBs or aggregating fragments. > When fragments are aggregated, there is no SKB with a filled ip_summed > available. > > Please outline which parts of which mode you suggest to change. > > 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 _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- 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