diff options
author | Keir Fraser <Keir.Fraser@xl.cam.ac.uk> | 2005-06-21 14:03:23 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-21 14:03:23 -0700 |
commit | e3be8ba79294df5de96692411e122506b40c5aa4 (patch) | |
tree | 85021ea2b3ecc698bc356fa15d873199a40d83d8 /net | |
parent | 97216c799a6496163be8c81c9ceed297d92956c5 (diff) | |
download | op-kernel-dev-e3be8ba79294df5de96692411e122506b40c5aa4.zip op-kernel-dev-e3be8ba79294df5de96692411e122506b40c5aa4.tar.gz |
[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')
-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 5bc28a2..8c1eaba 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, * and moreover root might send raw packets. * FIXME: Source route IP option packets --RR */ if (hooknum == NF_IP_PRE_ROUTING + && skb->ip_summed != CHECKSUM_UNNECESSARY && csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP, skb->ip_summed == CHECKSUM_HW ? skb->csum : skb_checksum(skb, iph->ihl*4, udplen, 0))) { |