diff options
author | Patrick McHardy <kaber@trash.net> | 2005-05-03 23:23:50 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-03 23:23:50 +0200 |
commit | 31da185d8162ae0f30a13ed945f1f4d28d158133 (patch) | |
tree | fd9cefbc2f8d8e95786a3a23858d3649605ad148 | |
parent | [NETFILTER]: Missing owner-field initialization in iptable_raw (diff) | |
download | linux-31da185d8162ae0f30a13ed945f1f4d28d158133.tar.xz linux-31da185d8162ae0f30a13ed945f1f4d28d158133.zip |
[NETFILTER]: Don't checksum CHECKSUM_UNNECESSARY skbs in TCP connection tracking
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c index 2b87c1974be6..721ddbf522b4 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c @@ -819,6 +819,7 @@ static int tcp_error(struct sk_buff *skb, */ /* 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, tcplen, IPPROTO_TCP, skb->ip_summed == CHECKSUM_HW ? skb->csum : skb_checksum(skb, iph->ihl*4, tcplen, 0))) { |