diff options
author | Renato Botelho <renato@netgate.com> | 2015-08-17 13:53:28 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2015-08-17 13:53:28 -0300 |
commit | 9ed545f35cdf6da23726dadeb0e999d0d81e62eb (patch) | |
tree | 9eecf2fcc864b8614fce635542f12c0587594d7c /sys/netipsec/xform_ipip.c | |
parent | d3b775b3db2819bebcac765dca33db7f8f5143c7 (diff) | |
download | FreeBSD-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.c | 8 |
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__)); |