added udp checksum calculation
This commit is contained in:
parent
4ab6b8f09d
commit
cc16338fc0
@ -422,6 +422,9 @@ ts3init_morph_to_get_cookie_ipv4_tg(struct sk_buff *skb, const struct xt_action_
|
||||
|
||||
udp->len = htons(sizeof(*udp) + sizeof(payload_buf));
|
||||
udp->check = 0;
|
||||
udp->check = csum_tcpudp_magic(ip->saddr, ip->daddr,
|
||||
ntohs(udp->len), IPPROTO_UDP,
|
||||
csum_partial(udp, ntohs(udp->len), 0));
|
||||
ip->tot_len = htons(skb->len);
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
|
||||
@ -457,6 +460,9 @@ ts3init_morph_to_get_cookie_ipv6_tg(struct sk_buff *skb, const struct xt_action_
|
||||
|
||||
udp->len = htons(sizeof(*udp) + sizeof(payload_buf));
|
||||
udp->check = 0;
|
||||
udp->check = csum_ipv6_magic(&ip->saddr, &ip->daddr,
|
||||
ntohs(udp->len), IPPROTO_UDP,
|
||||
csum_partial(udp, ntohs(udp->len), 0));
|
||||
ip->payload_len = htons(skb->len);
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user