summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2011-04-02 17:16:35 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2011-04-02 17:16:35 +0000
commit478842a4e799eaa89a17c3fec821367fac08d356 (patch)
treee8a2008dc59cf98b8754f82dca575328bdcabd10
parent95bfce1487fd9c75049ce975ca7cc59a79275d01 (diff)
dont let pfsync defer packets for states with NOSYNC set.
-rw-r--r--sys/net/if_pfsync.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/net/if_pfsync.c b/sys/net/if_pfsync.c
index fc995543736..eb547afc4f3 100644
--- a/sys/net/if_pfsync.c
+++ b/sys/net/if_pfsync.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_pfsync.c,v 1.161 2011/03/02 12:02:26 dlg Exp $ */
+/* $OpenBSD: if_pfsync.c,v 1.162 2011/04/02 17:16:34 dlg Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff
@@ -1707,7 +1707,9 @@ pfsync_defer(struct pf_state *st, struct mbuf *m)
splsoftassert(IPL_SOFTNET);
- if (!sc->sc_defer || m->m_flags & (M_BCAST|M_MCAST))
+ if (!sc->sc_defer ||
+ ISSET(st->state_flags, PFSTATE_NOSYNC) ||
+ m->m_flags & (M_BCAST|M_MCAST))
return (0);
if (sc->sc_deferred >= 128)