> -----Original Message----- > From: David Miller [mailto:davem@xxxxxxxxxxxxx] > Sent: Monday, April 28, 2014 10:24 AM > To: KY Srinivasan > Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx; > jasowang@xxxxxxxxxx; stable@xxxxxxxxxx > Subject: Re: [PATCH V1 net-next 1/1] hyperv: Properly handle checksum > offload > > From: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> > Date: Fri, 25 Apr 2014 20:55:23 -0700 > > > @@ -467,6 +467,9 @@ static int netvsc_start_xmit(struct sk_buff *skb, > struct net_device *net) > > if (skb_is_gso(skb)) > > goto do_lso; > > > > + if (skb->ip_summed != CHECKSUM_PARTIAL) > > + goto do_send; > > + > > There are many possible values of ip_summed, why would you go to > do_send if for example it was set to CHECKSUM_COMPLETE? > > I think you are just rushing this change, take your time and implement the fix > properly. > > For example, if you only expect two possible values here > (CHECKSUM_PARTIAL and something else), design your test so that it only > allows those two values and therefore you'll be documenting this invariant. David, I based this check on the check I see in tcp_v4_send_check() (and tcp_v6_send_check). Looking at the code some more, it looks like if ip_summed is set to CHECKSUM_NONE, the software has computed the checksum and we can bypass the code for offloading the checksum. Regards, K. Y _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel