public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
* netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
@ 2010-04-08 12:35 Herbert Xu
  2010-04-08 12:39 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Herbert Xu
  2010-04-08 12:53 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Patrick McHardy
  0 siblings, 2 replies; 6+ messages in thread
From: Herbert Xu @ 2010-04-08 12:35 UTC (permalink / raw)
  To: Patrick McHardy, David S. Miller, netdev

Hi:

netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue

While doing yet another audit on ip_summed I noticed ip_queue
calling skb_checksum_help unnecessarily.  As we will set ip_summed
to CHECKSUM_NONE when necessary in ipq_mangle_ipv4, there is no
need to zap CHECKSUM_COMPLETE in ipq_build_packet_message.

Signed-off-by: Herbert Xu <herbert@gondor•apana.org.au>

diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c
index e278704..c838238 100644
--- a/net/ipv4/netfilter/ip_queue.c
+++ b/net/ipv4/netfilter/ip_queue.c
@@ -161,8 +161,7 @@ ipq_build_packet_message(struct nf_queue_entry *entry, int *errp)
 		break;
 
 	case IPQ_COPY_PACKET:
-		if ((entry->skb->ip_summed == CHECKSUM_PARTIAL ||
-		     entry->skb->ip_summed == CHECKSUM_COMPLETE) &&
+		if (entry->skb->ip_summed == CHECKSUM_PARTIAL &&
 		    (*errp = skb_checksum_help(entry->skb))) {
 			read_unlock_bh(&queue_lock);
 			return NULL;

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor•apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue
  2010-04-08 12:35 netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Herbert Xu
@ 2010-04-08 12:39 ` Herbert Xu
  2010-04-08 12:41   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue Herbert Xu
  2010-04-08 12:54   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Patrick McHardy
  2010-04-08 12:53 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Patrick McHardy
  1 sibling, 2 replies; 6+ messages in thread
From: Herbert Xu @ 2010-04-08 12:39 UTC (permalink / raw)
  To: Patrick McHardy, David S. Miller, netdev

On Thu, Apr 08, 2010 at 08:35:45PM +0800, Herbert Xu wrote:
> 
> netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue

Doh! There are three of these queue beasts.

netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue

As we will set ip_summed to CHECKSUM_NONE when necessary in
ipq_mangle_ipv6, there is no need to zap CHECKSUM_COMPLETE in
ipq_build_packet_message.

Signed-off-by: Herbert Xu <herbert@gondor•apana.org.au>

diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c
index 6a68a74..8656eb7 100644
--- a/net/ipv6/netfilter/ip6_queue.c
+++ b/net/ipv6/netfilter/ip6_queue.c
@@ -162,8 +162,7 @@ ipq_build_packet_message(struct nf_queue_entry *entry, int *errp)
 		break;
 
 	case IPQ_COPY_PACKET:
-		if ((entry->skb->ip_summed == CHECKSUM_PARTIAL ||
-		     entry->skb->ip_summed == CHECKSUM_COMPLETE) &&
+		if (entry->skb->ip_summed == CHECKSUM_PARTIAL &&
 		    (*errp = skb_checksum_help(entry->skb))) {
 			read_unlock_bh(&queue_lock);
 			return NULL;

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor•apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue
  2010-04-08 12:39 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Herbert Xu
@ 2010-04-08 12:41   ` Herbert Xu
  2010-04-08 12:55     ` Patrick McHardy
  2010-04-08 12:54   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Patrick McHardy
  1 sibling, 1 reply; 6+ messages in thread
From: Herbert Xu @ 2010-04-08 12:41 UTC (permalink / raw)
  To: Patrick McHardy, David S. Miller, netdev

netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue

As we will set ip_summed to CHECKSUM_NONE when necessary in
nfqnl_mangle, there is no need to zap CHECKSUM_COMPLETE in
nfqnl_build_packet_message.

Signed-off-by: Herbert Xu <herbert@gondor•apana.org.au>

diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index e70a6ef..12e1ab3 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -246,8 +246,7 @@ nfqnl_build_packet_message(struct nfqnl_instance *queue,
 		break;
 
 	case NFQNL_COPY_PACKET:
-		if ((entskb->ip_summed == CHECKSUM_PARTIAL ||
-		     entskb->ip_summed == CHECKSUM_COMPLETE) &&
+		if (entskb->ip_summed == CHECKSUM_PARTIAL &&
 		    skb_checksum_help(entskb)) {
 			spin_unlock_bh(&queue->lock);
 			return NULL;

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor•apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
  2010-04-08 12:35 netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Herbert Xu
  2010-04-08 12:39 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Herbert Xu
@ 2010-04-08 12:53 ` Patrick McHardy
  1 sibling, 0 replies; 6+ messages in thread
From: Patrick McHardy @ 2010-04-08 12:53 UTC (permalink / raw)
  To: Herbert Xu; +Cc: David S. Miller, netdev

Herbert Xu wrote:
> Hi:
> 
> netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
> 
> While doing yet another audit on ip_summed I noticed ip_queue
> calling skb_checksum_help unnecessarily.  As we will set ip_summed
> to CHECKSUM_NONE when necessary in ipq_mangle_ipv4, there is no
> need to zap CHECKSUM_COMPLETE in ipq_build_packet_message.

Applied, thanks Herbert.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue
  2010-04-08 12:39 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Herbert Xu
  2010-04-08 12:41   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue Herbert Xu
@ 2010-04-08 12:54   ` Patrick McHardy
  1 sibling, 0 replies; 6+ messages in thread
From: Patrick McHardy @ 2010-04-08 12:54 UTC (permalink / raw)
  To: Herbert Xu; +Cc: David S. Miller, netdev

Herbert Xu wrote:
> On Thu, Apr 08, 2010 at 08:35:45PM +0800, Herbert Xu wrote:
>> netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
> 
> Doh! There are three of these queue beasts.

;)

> netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue
> 
> As we will set ip_summed to CHECKSUM_NONE when necessary in
> ipq_mangle_ipv6, there is no need to zap CHECKSUM_COMPLETE in
> ipq_build_packet_message.

Also applied, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue
  2010-04-08 12:41   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue Herbert Xu
@ 2010-04-08 12:55     ` Patrick McHardy
  0 siblings, 0 replies; 6+ messages in thread
From: Patrick McHardy @ 2010-04-08 12:55 UTC (permalink / raw)
  To: Herbert Xu; +Cc: David S. Miller, netdev

Herbert Xu wrote:
> netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue
> 
> As we will set ip_summed to CHECKSUM_NONE when necessary in
> nfqnl_mangle, there is no need to zap CHECKSUM_COMPLETE in
> nfqnl_build_packet_message.

Applied, thanks.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-04-08 12:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-08 12:35 netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Herbert Xu
2010-04-08 12:39 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Herbert Xu
2010-04-08 12:41   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in nfnetlink_queue Herbert Xu
2010-04-08 12:55     ` Patrick McHardy
2010-04-08 12:54   ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip6_queue Patrick McHardy
2010-04-08 12:53 ` netfilter: Only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue Patrick McHardy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox