mirror of
https://github.com/opnsense/src.git
synced 2026-06-10 17:22:46 -04:00
Set vnet context in callouts and taskqueues.
PR: 164696
This commit is contained in:
parent
5819da83ce
commit
afdbac98df
1 changed files with 8 additions and 0 deletions
|
|
@ -707,19 +707,24 @@ carp_send_ad_all(void *ctx __unused, int pending __unused)
|
|||
LIST_FOREACH(sc, &carp_list, sc_next)
|
||||
if (sc->sc_state == MASTER) {
|
||||
CARP_LOCK(sc);
|
||||
CURVNET_SET(sc->sc_carpdev->if_vnet);
|
||||
carp_send_ad_locked(sc);
|
||||
CURVNET_RESTORE();
|
||||
CARP_UNLOCK(sc);
|
||||
}
|
||||
mtx_unlock(&carp_mtx);
|
||||
}
|
||||
|
||||
/* Send a periodic advertisement, executed in callout context. */
|
||||
static void
|
||||
carp_send_ad(void *v)
|
||||
{
|
||||
struct carp_softc *sc = v;
|
||||
|
||||
CARP_LOCK_ASSERT(sc);
|
||||
CURVNET_SET(sc->sc_carpdev->if_vnet);
|
||||
carp_send_ad_locked(sc);
|
||||
CURVNET_RESTORE();
|
||||
CARP_UNLOCK(sc);
|
||||
}
|
||||
|
||||
|
|
@ -1090,6 +1095,7 @@ carp_forus(struct ifnet *ifp, u_char *dhost)
|
|||
return (0);
|
||||
}
|
||||
|
||||
/* Master down timeout event, executed in callout context. */
|
||||
static void
|
||||
carp_master_down(void *v)
|
||||
{
|
||||
|
|
@ -1097,12 +1103,14 @@ carp_master_down(void *v)
|
|||
|
||||
CARP_LOCK_ASSERT(sc);
|
||||
|
||||
CURVNET_SET(sc->sc_carpdev->if_vnet);
|
||||
if (sc->sc_state == BACKUP) {
|
||||
CARP_LOG("VHID %u@%s: BACKUP -> MASTER (master down)\n",
|
||||
sc->sc_vhid,
|
||||
sc->sc_carpdev->if_xname);
|
||||
carp_master_down_locked(sc);
|
||||
}
|
||||
CURVNET_RESTORE();
|
||||
|
||||
CARP_UNLOCK(sc);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue