summaryrefslogtreecommitdiffstats
path: root/sys/netipsec/xform_ipip.c
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-17 13:53:28 -0300
committerRenato Botelho <renato@netgate.com>2015-08-17 13:53:28 -0300
commit9ed545f35cdf6da23726dadeb0e999d0d81e62eb (patch)
tree9eecf2fcc864b8614fce635542f12c0587594d7c /sys/netipsec/xform_ipip.c
parentd3b775b3db2819bebcac765dca33db7f8f5143c7 (diff)
downloadFreeBSD-src-9ed545f35cdf6da23726dadeb0e999d0d81e62eb.zip
FreeBSD-src-9ed545f35cdf6da23726dadeb0e999d0d81e62eb.tar.gz
Importing pfSense patch ipsec_direct_dispatch.diff
Diffstat (limited to 'sys/netipsec/xform_ipip.c')
-rw-r--r--sys/netipsec/xform_ipip.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c
index 9585eef..85f0642 100644
--- a/sys/netipsec/xform_ipip.c
+++ b/sys/netipsec/xform_ipip.c
@@ -330,7 +330,13 @@ _ipip_input(struct mbuf *m, int iphlen, struct ifnet *gifp)
panic("%s: bogus ip version %u", __func__, v>>4);
}
- if (netisr_queue(isr, m)) { /* (0) on success. */
+ if (V_ipsec_direct_dispatch) {
+ if (netisr_dispatch(isr, m)) { /* (0) on success. */
+ IPIPSTAT_INC(ipips_qfull);
+ DPRINTF(("%s: packet dropped because of full queue\n",
+ __func__));
+ }
+ } else if (netisr_queue(isr, m)) { /* (0) on success. */
IPIPSTAT_INC(ipips_qfull);
DPRINTF(("%s: packet dropped because of full queue\n",
__func__));
OpenPOWER on IntegriCloud