git: 54bbcca4f979 - main - re: netmap: enable/disable krings on interface reinit

Vincenzo Maffione vmaffione at FreeBSD.org
Sun Jan 10 15:12:22 UTC 2021


The branch main has been updated by vmaffione:

URL: https://cgit.FreeBSD.org/src/commit/?id=54bbcca4f9790e012e0a0f1512d9c879a48d5293

commit 54bbcca4f9790e012e0a0f1512d9c879a48d5293
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-10 15:09:05 +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
---
 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 7d2940a67b35..cf327932cd74 100644
--- a/sys/dev/re/if_re.c
+++ b/sys/dev/re/if_re.c
@@ -3360,6 +3360,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 */
 }
 
 /*
@@ -3608,6 +3612,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