From owner-freebsd-current@freebsd.org Sat Oct 3 14:06:46 2020 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D0E4542F8C3 for ; Sat, 3 Oct 2020 14:06:46 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4C3TF255hNz4P3t; Sat, 3 Oct 2020 14:06:46 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.codepro.be", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 78E202AE6C; Sat, 3 Oct 2020 14:06:46 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id 6B7384AF96; Sat, 3 Oct 2020 16:06:44 +0200 (CEST) From: "Kristof Provost" To: "Alexander Leidinger" Cc: "Shawn Webb" , "FreeBSD Current" Subject: Re: iflib/bridge kernel panic Date: Sat, 03 Oct 2020 16:06:43 +0200 X-Mailer: MailMate (1.13.2r5673) Message-ID: In-Reply-To: <20200930135225.Horde.nVCxwqfnkoJfolbDU0hqqXf@webmail.leidinger.net> References: <58CADEBB-64FD-414E-AB19-E4F8D3CABCA5@FreeBSD.org> <20200921121627.3dovpumnl6xub3kn@mutt-hbsd> <7FE1F106-2CEE-4692-95D0-14C5229ED768@FreeBSD.org> <20200928124531.Horde.0EjsBzIG5ktLzby_tFcoPPS@webmail.leidinger.net> <33903BFF-4158-4CD9-AD79-360BCD81F1C9@FreeBSD.org> <20200928164410.Horde.mYBkuEeD_Q6xgnKnwNomv7P@webmail.leidinger.net> <6A5EFCFA-C0DC-4DEF-834B-2F9E4FCC8812@FreeBSD.org> <20200930135225.Horde.nVCxwqfnkoJfolbDU0hqqXf@webmail.leidinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Oct 2020 14:06:46 -0000 On 30 Sep 2020, at 13:52, Alexander Leidinger wrote: > Quoting Kristof Provost (from Tue, 29 Sep 2020 = > 23:20:44 +0200): > >> On 28 Sep 2020, at 16:44, Alexander Leidinger wrote: >> >>> Quoting Kristof Provost (from Mon, 28 Sep 2020 = >>> 13:53:16 +0200): >>> >>>> On 28 Sep 2020, at 12:45, Alexander Leidinger wrote: >>>>> Quoting Kristof Provost (from Sun, 27 Sep 2020 = >>>>> 17:51:32 +0200): >>>>>> Here=E2=80=99s an early version of a task queue based approach: = >>>>>> http://people.freebsd.org/~kp/0001-bridge-Cope-with-if_ioctl-s-tha= t-sleep.patch >>>>>> >>>>>> That still needs to be cleaned up, but this should resolve the = >>>>>> sleep issue and the LOR. >>>>> >>>>> There are some issues... seems like inside a jail I can't ping = >>>>> systems outside of the hardware. >>>>> >>>>> Bridge setup: >>>>> - member jail A >>>>> - member jail B >>>>> - member external_if of host >>>>> >>>>> If I ping the router from the host, it works. If I ping from one = >>>>> jail to another, it works. If I ping from the jail to the IP of = >>>>> the external_if, it works. If I ping from a jail to the router, I = >>>>> do not get a response. >>>>> >>>> Can you check for 'failed ifpromisc' error messages in dmesg? And = >>>> verify that all bridge member interfaces are in promiscuous mode? >>> >>> I have a panic for you...: >>> - startup still in progress =3D 22 jails in startup, somewhere after = a = >>> few jails started the panic happened >>> - tcpdump was running on the external interface >>> - a ping to a jail IP from another system was running, the first = >>> ping went through, then it paniced >>> >>> First regarding your questions about promisc mode: no error, but the = >>> promisc mode is directly disabled again on all interfaces. >>> >> I think I see why you had issues with the promiscuous setting. I=E2=80= =99ve = >> updated the patch to be even more horrific than it was before. > > Hmmm.... same behavior as before. > I haven't kept the old version of the patch, so I can't compare if I = > somehow downloaded the old version again, or if I got the updated = > one... > Okay, let=E2=80=99s abandon that patch. It=E2=80=99s ugly and it doesn=E2= =80=99t work. Here=E2=80=99s a different approach that I=E2=80=99m much happier with. https://people.freebsd.org/~kp/0001-bridge-Call-member-interface-ioctl-wi= thout-NET_EPOCH.patch It passes the regression tests with WITNESS and INVARIANTS enabled, and = a hack in the epair ioctl() handler to make it sleep (to look a bit like = the Intel ioctl() handler that currently trips up if_bridge). Best, Kristof