hyperv: Properly handle checksum offload
Do checksum offload only if the client of the driver wants checksum to be offloaded. In V1 version of this patch, I addressed comments from Stephen Hemminger <stephen@networkplumber.org> and Eric Dumazet <eric.dumazet@gmail.com>. In this version of the patch I have addressed comments from David Miller. This patch fixes a bug that is exposed in gateway scenarios. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6ce29b0e2a
commit
22041fb05b
|
@ -382,6 +382,10 @@ 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_NONE) ||
|
||||
(skb->ip_summed == CHECKSUM_UNNECESSARY))
|
||||
goto do_send;
|
||||
|
||||
rndis_msg_size += NDIS_CSUM_PPI_SIZE;
|
||||
ppi = init_ppi_data(rndis_msg, NDIS_CSUM_PPI_SIZE,
|
||||
TCPIP_CHKSUM_PKTINFO);
|
||||
|
|
Loading…
Reference in New Issue