<html>
<head>
<base href="https://bugzilla.netfilter.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - using nfqueue breaks SCTP connection (tracking)"
href="https://bugzilla.netfilter.org/show_bug.cgi?id=1742#c8">Comment # 8</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - using nfqueue breaks SCTP connection (tracking)"
href="https://bugzilla.netfilter.org/show_bug.cgi?id=1742">bug 1742</a>
from <span class="vcard"><a class="email" href="mailto:antonio.ojea.garcia@gmail.com" title="Antonio Ojea <antonio.ojea.garcia@gmail.com>"> <span class="fn">Antonio Ojea</span></a>
</span></b>
<pre>It is the first time that I send a patch to the kernel so sorry in advance for
all the noise :)
Let me describe the situation, I think I didn't get right the problem, these
are the patches I sent
<a href="https://patchwork.ozlabs.org/project/netfilter-devel/list/?series=405380">https://patchwork.ozlabs.org/project/netfilter-devel/list/?series=405380</a>
I have a test in patch 2 that reproduces the problem, that I think is good
If I apply patch 1 IIUIC it skips skb_checksum_help() , this patch solves the
problem but does not seem right, does it?
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index 00f4bd21c59b..428014aea396 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -600,6 +600,7 @@ nfqnl_build_packet_message(struct net *net, struct
nfqnl_instance *queue,
case NFQNL_COPY_PACKET:
if (!(queue->flags & NFQA_CFG_F_GSO) &&
entskb->ip_summed == CHECKSUM_PARTIAL &&
+ (skb_csum_is_sctp(entskb) && skb_crc32c_csum_help(entskb)) &&
skb_checksum_help(entskb))
return NULL;
If instead of an AND I use an OR
- skb_checksum_help(entskb))
+ ((skb_csum_is_sctp(entskb) &&
skb_crc32c_csum_help(entskb)) ||
+ skb_checksum_help(entskb)))
now the test fails ... so it seems the problem is skb_checksum_help() ??</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are watching all bug changes.</li>
</ul>
</body>
</html>