MCPcopy Create free account
hub / github.com/F-Stack/f-stack / pfsync_undefer

Function pfsync_undefer

freebsd/netpfil/pf/if_pfsync.c:1793–1815  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1791}
1792
1793static void
1794pfsync_undefer(struct pfsync_deferral *pd, int drop)
1795{
1796 struct pfsync_softc *sc = pd->pd_sc;
1797 struct mbuf *m = pd->pd_m;
1798 struct pf_state *st = pd->pd_st;
1799 struct pfsync_bucket *b = pfsync_get_bucket(sc, st);
1800
1801 PFSYNC_BUCKET_LOCK_ASSERT(b);
1802
1803 TAILQ_REMOVE(&b->b_deferrals, pd, pd_entry);
1804 b->b_deferred--;
1805 pd->pd_st->state_flags &= ~PFSTATE_ACK; /* XXX: locking! */
1806 free(pd, M_PFSYNC);
1807 pf_release_state(st);
1808
1809 if (drop)
1810 m_freem(m);
1811 else {
1812 _IF_ENQUEUE(&b->b_snd, m);
1813 pfsync_push(b);
1814 }
1815}
1816
1817static void
1818pfsync_defer_tmo(void *arg)

Callers 2

pfsync_deferFunction · 0.85
pfsync_undefer_stateFunction · 0.85

Calls 5

pfsync_get_bucketFunction · 0.85
pf_release_stateFunction · 0.85
pfsync_pushFunction · 0.85
freeFunction · 0.50
m_freemFunction · 0.50

Tested by

no test coverage detected