git: b6b75424c57d - main - vmxnet3: Don't restart on VLAN changes
Date: Thu, 24 Aug 2023 20:51:58 UTC
The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=b6b75424c57d6da49967fef39f69080ce6939207 commit b6b75424c57d6da49967fef39f69080ce6939207 Author: Kevin Bowling <kbowling@FreeBSD.org> AuthorDate: 2023-08-24 20:25:21 +0000 Commit: Kevin Bowling <kbowling@FreeBSD.org> CommitDate: 2023-08-24 20:46:56 +0000 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). MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D41558 --- sys/dev/vmware/vmxnet3/if_vmx.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/dev/vmware/vmxnet3/if_vmx.c b/sys/dev/vmware/vmxnet3/if_vmx.c index 99e84e744d57..2c3530a217f3 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, @@ -247,6 +248,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 }; @@ -2505,6 +2508,16 @@ 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: + 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