[NETFILTER]: Avoid unncessary checksum validation in UDP connection tracking
Signed-off-by: Keir Fraser <Keir.Fraser@xl.cam.ac.uk> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
97216c799a
commit
e3be8ba792
@@ -120,6 +120,7 @@ static int udp_error(struct sk_buff *skb, enum ip_conntrack_info *ctinfo,
|
|||||||
* and moreover root might send raw packets.
|
* and moreover root might send raw packets.
|
||||||
* FIXME: Source route IP option packets --RR */
|
* FIXME: Source route IP option packets --RR */
|
||||||
if (hooknum == NF_IP_PRE_ROUTING
|
if (hooknum == NF_IP_PRE_ROUTING
|
||||||
|
&& skb->ip_summed != CHECKSUM_UNNECESSARY
|
||||||
&& csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP,
|
&& csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP,
|
||||||
skb->ip_summed == CHECKSUM_HW ? skb->csum
|
skb->ip_summed == CHECKSUM_HW ? skb->csum
|
||||||
: skb_checksum(skb, iph->ihl*4, udplen, 0))) {
|
: skb_checksum(skb, iph->ihl*4, udplen, 0))) {
|
||||||
|
Reference in New Issue
Block a user