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