From nobody Mon Sep 11 22:35:40 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Rl1l10Xr1z4sV0v; Mon, 11 Sep 2023 22:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Rl1l06wg0z3gBM; Mon, 11 Sep 2023 22:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694471741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+XMj0fJRKogAyUb6ftPi43hwh/azndSsqofsq3DTrHw=; b=Sllvt6xJVkvRsZzxImoyLt0IeheQWpfmBxamWTPNOnzgfGi31ZXaFT59Y9/oX0T9kWjBcD T0GiQVQuhGqdHSWxOZ9gr0KU/tR0MDmreIRM4vbzvYx0+75gUcarU0CnYtX12OPgbDvKLo gdkwN7l8R3dd5A+L+RxJXCV+5l0rLtj6p6nhLMEvdYM6Z9HdYbXB50co9QdvDWFp0J4Rfi BQVzFMT1W8MpESUAsPPjhSYwgrV5ZeKxJeJ31UOYvoMVuiihhwkF6xuJwNr5vf/KNaog/O h1D6OUuHB8b0BH3CwrVJLhYn9U2txz+IqMllpnmGn+FrLYGxHcQ2tlpimjH8VQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1694471741; a=rsa-sha256; cv=none; b=soSXi1tbKGwAWjEJ89lq/TCoKejA9DYTVpiwup1KThfue6/Gq1jUbERKVHqeOWqXhNtJEE FHtJoWxozisUg1Z0HxBB2JCc8OgXPEaq6xAIGhRmHp1juP6/hz3XoajxmfMGPpTRZLObp4 L0kqphvXVLz8V9TEnOz2UUD1fxEebejbWWIX/mYY1rVm/95fZQ84jfMkPMfYVEJkBHAluP /eeAt7FPbk01uJa9FczV8ybuTAescf2czPCcCQnMBvqlXFwPgPc/UqO9iKzPhG0SUGzex8 JP89qcazgfOq2hsaq7SXz+v0szGQd4s7+DvlCbCB77ueFBCw30gkUODyTobb3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1694471741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+XMj0fJRKogAyUb6ftPi43hwh/azndSsqofsq3DTrHw=; b=F0J5rGrqfdCgTHwNY6HxlVCN4cnRRSDnioS/x3e0PIp1XBYYzq9YMSuhj68kNf80Y3EI5T 2ZHr0rcoIJETGil6hfHMOaP32p0qWMP30x6dIijM7j1EVEO3tJQ7qv5/Hi99ZlvZRxYf0H UX1iRTyHG3F0r5YQI68WuH9GbZUEzvF348yKG6n/m2wq7yo86MLJ88d0fNGqNKM0KvpoTd AGodfFYr3IkS/ginaenc9ihiP4DxfMNICnrPNB7dgtPVrqKQeG5FjJKP/n+Q05iwm20rmZ QW0u69azcZDsVRo7h9xiafe9yDrp5+bta3s/wuKL+asETXkc/1jrCH6PeiFxsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Rl1l05s28z16Ng; Mon, 11 Sep 2023 22:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38BMZenp057025; Mon, 11 Sep 2023 22:35:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38BMZeDZ057022; Mon, 11 Sep 2023 22:35:40 GMT (envelope-from git) Date: Mon, 11 Sep 2023 22:35:40 GMT Message-Id: <202309112235.38BMZeDZ057022@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 5c4f04ff008c - stable/13 - vmxnet3: do restart on VLAN changes List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5c4f04ff008ca920219655e401fef48a5806f77d Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=5c4f04ff008ca920219655e401fef48a5806f77d commit 5c4f04ff008ca920219655e401fef48a5806f77d Author: Kevin Bowling AuthorDate: 2023-08-24 20:25:21 +0000 Commit: Kevin Bowling CommitDate: 2023-09-11 22:34:21 +0000 vmxnet3: do restart on VLAN changes vmxnet3: Don't restart on VLAN changes In rS360398, a new iflib device method was added with default of opt out for VLAN events needing an interface reset. This re-init is unintentional for vmxnet3(4). Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D41558 (cherry picked from commit b6b75424c57d6da49967fef39f69080ce6939207) vmxnet3: do restart on VLAN changes At least one user reports issues with vmx interfaces after 725e4008ef, where we default to not resetting the interface on VLAN changes. This was on an ESXi 7.0.3 setup. Reported by: Marcos Mendoza Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 8c1274138a20ee2342c4f217adb605e3abc14042) --- sys/dev/vmware/vmxnet3/if_vmx.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/dev/vmware/vmxnet3/if_vmx.c b/sys/dev/vmware/vmxnet3/if_vmx.c index adf69c320281..cd313b5b8084 100644 --- a/sys/dev/vmware/vmxnet3/if_vmx.c +++ b/sys/dev/vmware/vmxnet3/if_vmx.c @@ -180,6 +180,7 @@ static void vmxnet3_enable_intr(struct vmxnet3_softc *, int); static void vmxnet3_disable_intr(struct vmxnet3_softc *, int); static void vmxnet3_intr_enable_all(if_ctx_t); static void vmxnet3_intr_disable_all(if_ctx_t); +static bool vmxnet3_if_needs_restart(if_ctx_t, enum iflib_restart_event); typedef enum { VMXNET3_BARRIER_RD, @@ -248,6 +249,8 @@ static device_method_t vmxnet3_iflib_methods[] = { DEVMETHOD(ifdi_suspend, vmxnet3_suspend), DEVMETHOD(ifdi_resume, vmxnet3_resume), + DEVMETHOD(ifdi_needs_restart, vmxnet3_if_needs_restart), + DEVMETHOD_END }; @@ -2516,6 +2519,17 @@ vmxnet3_intr_disable_all(if_ctx_t ctx) vmxnet3_disable_intr(sc, i); } +static bool +vmxnet3_if_needs_restart(if_ctx_t ctx __unused, enum iflib_restart_event event) +{ + switch (event) { + case IFLIB_RESTART_VLAN_CONFIG: + return (true); + default: + return (false); + } +} + /* * Since this is a purely paravirtualized device, we do not have * to worry about DMA coherency. But at times, we must make sure