--- if_re.c 2016-07-19 13:50:27.716636000 -0400+++ if_re.c.Patched 2016-07-19 13:52:06.534495000 -0400@@ -47,6 +47,8 @@ * This driver also support Realtek 8139C+, 8110S/SB/SC, RTL8111B/C/CP/D and RTL8101E/8102E/8103E. */ +#define M_DONTWAIT M_NOWAIT+ #include <sys/param.h> #include <sys/systm.h> #include <sys/sockio.h>@@ -57,6 +59,7 @@ #include <sys/taskqueue.h> #include <net/if.h>+#include <net/if_var.h> #include <net/if_arp.h> #include <net/ethernet.h> #include <net/if_dl.h>@@ -5529,7 +5532,7 @@ sc->re_desc.tx_last_index = (sc->re_desc.tx_last_index+1)%RE_TX_BUF_NUM; txptr=&sc->re_desc.tx_desc[sc->re_desc.tx_last_index];- ifp->if_opackets++;+ if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1); ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; } @@ -5672,7 +5675,7 @@ } eh = mtod(m, struct ether_header *);- ifp->if_ipackets++;+ if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); #ifdef _DEBUG_ printf("Rcv Packet, Len=%d \n", m->m_len); #endif@@ -5747,7 +5750,7 @@ #if OS_VER < VERSION(7,0) re_int_task(arg, 0); #else- taskqueue_enqueue_fast(taskqueue_fast, &sc->re_inttask);+ taskqueue_enqueue(taskqueue_fast, &sc->re_inttask); return (FILTER_HANDLED); #endif@@ -5827,7 +5830,7 @@ #if OS_VER>=VERSION(7,0) if (CSR_READ_2(sc, RE_ISR) & RE_INTRS) {- taskqueue_enqueue_fast(taskqueue_fast, &sc->re_inttask);+ taskqueue_enqueue(taskqueue_fast, &sc->re_inttask); return; } #endif
...# opnsense-update -kr 17.1-re# /usr/local/etc/rc.reboot...Cheers,Franco
Thanks for the report. I'm still waiting for another user and a test on a hardware that I have here, but it looks good and the change will be queued up for the development track soon. And if that works out ok we may be looking at inclusion in a 17.1.x release in a month or so.Cheers,Franco