git: 45b2c3bec4f2 - stable/12 - re: netmap: enable/disable krings on interface reinit
Vincenzo Maffione
vmaffione at FreeBSD.org
Sun Jan 17 13:40:39 UTC 2021
The branch stable/12 has been updated by vmaffione:
URL: https://cgit.FreeBSD.org/src/commit/?id=45b2c3bec4f2e8a41fb47d3b0dd7983b0ba81d10
commit 45b2c3bec4f2e8a41fb47d3b0dd7983b0ba81d10
Author: Vincenzo Maffione <vmaffione at FreeBSD.org>
AuthorDate: 2021-01-10 15:09:05 +0000
Commit: Vincenzo Maffione <vmaffione at FreeBSD.org>
CommitDate: 2021-01-17 13:40:31 +0000
re: netmap: enable/disable krings on interface reinit
This prevents krings from being used during an interface
reset, and notifies the active applications.
See also 1d238b07d5d4d9660ae0.
MFC after: 1 week
(cherry picked from commit 54bbcca4f9790e012e0a0f1512d9c879a48d5293)
---
sys/dev/re/if_re.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c
index 3bb80a236f8d..d3080031f3b9 100644
--- a/sys/dev/re/if_re.c
+++ b/sys/dev/re/if_re.c
@@ -3359,6 +3359,10 @@ re_init_locked(struct rl_softc *sc)
sc->rl_watchdog_timer = 0;
callout_reset(&sc->rl_stat_callout, hz, re_tick, sc);
+
+#ifdef DEV_NETMAP
+ netmap_enable_all_rings(ifp);
+#endif /* DEV_NETMAP */
}
/*
@@ -3607,6 +3611,10 @@ re_stop(struct rl_softc *sc)
callout_stop(&sc->rl_stat_callout);
ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
+#ifdef DEV_NETMAP
+ netmap_disable_all_rings(ifp);
+#endif /* DEV_NETMAP */
+
/*
* Disable accepting frames to put RX MAC into idle state.
* Otherwise it's possible to get frames while stop command
More information about the dev-commits-src-all
mailing list