diff options
author | Keir Fraser <Keir.Fraser@xl.cam.ac.uk> | 2005-06-21 17:03:23 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-21 17:03:23 -0400 |
commit | e3be8ba79294df5de96692411e122506b40c5aa4 (patch) | |
tree | 85021ea2b3ecc698bc356fa15d873199a40d83d8 /net/ipv4 | |
parent | 97216c799a6496163be8c81c9ceed297d92956c5 (diff) |
[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>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_proto_udp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_proto_udp.c b/net/ipv4/netfilter/ip_conntrack_proto_udp.c index 5bc28a224623..8c1eaba098d4 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_udp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_udp.c | |||
@@ -120,6 +120,7 @@ static int udp_error(struct sk_buff *skb, enum ip_conntrack_info *ctinfo, | |||
120 | * and moreover root might send raw packets. | 120 | * and moreover root might send raw packets. |
121 | * FIXME: Source route IP option packets --RR */ | 121 | * FIXME: Source route IP option packets --RR */ |
122 | if (hooknum == NF_IP_PRE_ROUTING | 122 | if (hooknum == NF_IP_PRE_ROUTING |
123 | && skb->ip_summed != CHECKSUM_UNNECESSARY | ||
123 | && csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP, | 124 | && csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP, |
124 | skb->ip_summed == CHECKSUM_HW ? skb->csum | 125 | skb->ip_summed == CHECKSUM_HW ? skb->csum |
125 | : skb_checksum(skb, iph->ihl*4, udplen, 0))) { | 126 | : skb_checksum(skb, iph->ihl*4, udplen, 0))) { |