mirror of
https://github.com/torvalds/linux.git
synced 2024-11-12 07:01:57 +00:00
[NETPOLL]: Compute checksum properly in netpoll_send_udp().
Signed-off-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
da33e3eb48
commit
8e365eec04
@ -340,6 +340,12 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
|
||||
udph->dest = htons(np->remote_port);
|
||||
udph->len = htons(udp_len);
|
||||
udph->check = 0;
|
||||
udph->check = csum_tcpudp_magic(htonl(np->local_ip),
|
||||
htonl(np->remote_ip),
|
||||
udp_len, IPPROTO_UDP,
|
||||
csum_partial((unsigned char *)udph, udp_len, 0));
|
||||
if (udph->check == 0)
|
||||
udph->check = -1;
|
||||
|
||||
skb->nh.iph = iph = (struct iphdr *)skb_push(skb, sizeof(*iph));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user