Message ID | 1406737212-23351-4-git-send-email-zoltan.kiss@citrix.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index ba61e2b..d8905cd 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -3061,8 +3061,9 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev, __wsum csum = udp_csum(skb); /* add protocol-dependent pseudo-header */ - udph->check = csum_tcpudp_magic(udph->source, udph->dest, - datalen + 8, IPPROTO_UDP, csum); + udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, + datalen + sizeof(struct udphdr), + IPPROTO_UDP, csum); if (udph->check == 0) udph->check = CSUM_MANGLED_0;
It passes port number instead of IP address for checksuming. The udp4_hwcsum() call is also bad, but my next patch will get rid of it anyway. The IPv6 code does it correctly already. It also changes replaces 8 with sizeof(struct udphdr) Signed-off-by: Zoltan Kiss <zoltan.kiss@citrix.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Thomas Graf <tgraf@suug.ch> Cc: Joe Perches <joe@perches.com> Cc: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org --- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html