diff options
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__)); |