Netdev List
 help / color / mirror / Atom feed
From: Florian Westphal <fw@strlen.de>
To: Satish Patel <satish.txt@gmail.com>
Cc: netdev@vger.kernel.org
Subject: Re: Linux kernel error stack
Date: Sun, 5 Aug 2018 11:48:35 +0200	[thread overview]
Message-ID: <20180805094835.3e2njq2f3plj7njj@breakpoint.cc> (raw)
In-Reply-To: <CAPgF-foR5RL3hoOdO9q0rFUWjyoFj4hmr_jtkbXztrRO-JURFA@mail.gmail.com>

Satish Patel <satish.txt@gmail.com> wrote:
> I am installing openstack and as you know i have lots of bridges and
> vlan interface on my Linux CentOS 7.5
> 
> I was getting following error stack on 3.10 kernel and found this is
> kernel bug which required kernel upgrade so now i have upgraded my
> kernel to 4.17.12 but i am still seeing same kernel stack error on my
> dmesg
> 
> I have disable TSO, LRO, SG & GSO on my NIC but still getting error
> just wanted to understand what is this and why it popping up

Get rid of CHECKSUM target in the iptables rules.
This thing was added 8 years ago to work around dhcp bugs, I don't
think its use is needed anymore.
Try removing it and see that all VMs can still retrieve IP address
via DHCP.

I'm curious as to the rules, normally CHECKSUM target should be
limited to -p udp --dport bootp; its bad idea to feed it normal
packets, its expensive to do this in software rather than have device
do the checksumming.

As for fix, I'm tempted to send patch to make checksum target
eval a no-op & add deprecation warning on init...

Other "fix" is to

diff --git a/net/netfilter/xt_CHECKSUM.c b/net/netfilter/xt_CHECKSUM.c
index 9f4151ec3e06..23a17dda604d 100644
--- a/net/netfilter/xt_CHECKSUM.c
+++ b/net/netfilter/xt_CHECKSUM.c
@@ -25,8 +25,12 @@ MODULE_ALIAS("ip6t_CHECKSUM");
 static unsigned int
 checksum_tg(struct sk_buff *skb, const struct xt_action_param *par)
 {
-	if (skb->ip_summed == CHECKSUM_PARTIAL)
-		skb_checksum_help(skb);
+	if (skb->ip_summed == CHECKSUM_PARTIAL) {
+		if (skb_shinfo(skb)->gso_size)
+			skb->ip_summed = CHECKSUM_NONE;
+		else
+			skb_checksum_help(skb);
+	}
 
 	return XT_CONTINUE;
 }

(unfortunately, the target isn't restricted to POSTROUTING, sigh).

  reply	other threads:[~2018-08-05 11:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-05  1:24 Linux kernel error stack Satish Patel
2018-08-05  9:48 ` Florian Westphal [this message]
2018-08-05 12:43   ` Satish Patel
2018-08-05 19:42     ` Florian Westphal
2018-08-05 19:54       ` Satish Patel
2018-08-05 19:56         ` Satish Patel
2018-08-05 20:01           ` Satish Patel
2018-08-05 20:02           ` Florian Westphal
2018-08-05 20:09             ` Satish Patel
2018-08-05 20:15               ` Satish Patel
2018-08-05 20:39                 ` Satish Patel
2018-08-05 20:53                   ` Satish Patel
2018-08-05 21:01                     ` Florian Westphal
2018-08-05 21:03                 ` Florian Westphal
2018-08-05 23:06                   ` Michal Kubecek
2018-08-05 23:15                     ` Florian Westphal
2018-08-06  0:06                       ` Michal Kubecek
2018-08-06  0:19                         ` Florian Westphal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180805094835.3e2njq2f3plj7njj@breakpoint.cc \
    --to=fw@strlen.de \
    --cc=netdev@vger.kernel.org \
    --cc=satish.txt@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox