4.9 network not freeing memory

Stephen Clark Stephen.Clark at seclark.us
Thu Mar 30 19:10:50 UTC 2006

damir bikmuhametov wrote:

>On Thu, Mar 30, 2006 at 10:13:57AM -0500, Stephen Clark wrote:
>>Do you know if the queue_maxlen is exceeded do the mbufs get lost? It
>>sort of seems that is what happens.
>I'm sorry I'm unfamiliar with FreeBSD internals. I just noticed that
>when I'm using gre tunnels (say, for WCCP or with DVB recievers) at some
>time (various) net.inet.ip.intr_queue_drops starts increasing very fast
>and I'm losing network connectivity. I've played with queue_maxlen and
>found that increased value helps against that issues.
>It seems that only gre suffers from the default (relatively small) queue
FreeBSD splnet() equates directly to NetBSD's splsoftnet();
FreeBSD uses splimp() where (for networking) NetBSD would use splnet().

When you mentioned this only seems to happen on gre I looked at the 
ip_gre.c which
comes from NetBSD, it uses splnet() where all the other FreeBSD stuff 
used splimp().
So I changed gre.c to use splnet() and now I am not getting any drops, 
even with queue_maxlen=50;

More information about the freebsd-stable mailing list