| 1845 | } |
| 1846 | |
| 1847 | static void |
| 1848 | pfsync_undefer_state(struct pf_state *st, int drop) |
| 1849 | { |
| 1850 | struct pfsync_softc *sc = V_pfsyncif; |
| 1851 | struct pfsync_deferral *pd; |
| 1852 | struct pfsync_bucket *b = pfsync_get_bucket(sc, st); |
| 1853 | |
| 1854 | PFSYNC_BUCKET_LOCK(b); |
| 1855 | |
| 1856 | TAILQ_FOREACH(pd, &b->b_deferrals, pd_entry) { |
| 1857 | if (pd->pd_st == st) { |
| 1858 | if (callout_stop(&pd->pd_tmo) > 0) |
| 1859 | pfsync_undefer(pd, drop); |
| 1860 | |
| 1861 | PFSYNC_BUCKET_UNLOCK(b); |
| 1862 | return; |
| 1863 | } |
| 1864 | } |
| 1865 | PFSYNC_BUCKET_UNLOCK(b); |
| 1866 | |
| 1867 | panic("%s: unable to find deferred state", __func__); |
| 1868 | } |
| 1869 | |
| 1870 | static struct pfsync_bucket* |
| 1871 | pfsync_get_bucket(struct pfsync_softc *sc, struct pf_state *st) |
no test coverage detected