Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Aug 2006 20:00:28 +0200
From:      Giuseppe Cardone <g.cardone@unidata.it>
To:        freebsd-net@freebsd.org
Subject:   udp drops due to no socket
Message-ID:  <44E4AEBC.20400@unidata.it>

next in thread | raw e-mail | index | archive | help

Hi,

I am  struggling with  udp drops that show up with netstat -s -p udp as
'dropped due to no socket' and 'dropped due to full socket buffers'.

I am encountering such drops to various degrees on virtually all the
FreeBSD servers I'm testing for a VoIP platform.

For example, the RTP proxy (running FreeBSD 6.1-RELEASE (SMP) on Intel
Xeon3.06GHz, 1 GB RAM) shows continous drops, e.g.

udp:
        942021483 datagrams received
        0 with incomplete header
        21 with bad data length field
        20989 with bad checksum
        1766131960 with no checksum
        452839372 dropped due to no socket
        236582 broadcast/multicast datagrams dropped due to no socket
        108 dropped due to full socket buffers
        0 not for hashed pcb
        488924411 delivered
        447518941 datagrams output

After approx 1 minute, datagrams received has increased by 125557 and
'dropped due to no socket'  by 4864,
nearly 4 % loss rate

Readings after 1 minute

udp:
        942147040 datagrams received
        0 with incomplete header
        21 with bad data length field
        20989 with bad checksum
        1766216220 with no checksum
        452844236 dropped due to no socket
        236586 broadcast/multicast datagrams dropped due to no socket
        108 dropped due to full socket buffers
        0 not for hashed pcb
        489045100 delivered
        447639187 datagrams output


Top shows the RTP proxy is running at an averaga cpu utilization of less
than 4% and plenty of RAM

22 processes:  2 running, 20 sleeping
CPU states:  0.2% user,  0.0% nice,  0.6% system,  2.1% interrupt, 97.1%
idle
Mem: 14M Active, 492M Inact, 173M Wired, 111M Buf, 317M Free


Traffic is low, running at 1.6 Mb/s on em0


Strangely buffer allocation also seems ok:

 netstat -m      
514/2696/3210 mbufs in use (current/cache/total)
512/1664/2176/25600 mbuf clusters in use (current/cache/total/max)
512/1444 mbuf+clusters out of packet secondary zone in use (current/cache)
0/0/0/0 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/0 9k jumbo clusters in use (current/cache/total/max)
0/0/0/0 16k jumbo clusters in use (current/cache/total/max)
1152K/4002K/5154K bytes allocated to network (current/cache/total)
2798233895/2339189811/2411392867 requests for mbufs denied
(mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/7/6656 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
232 calls to protocol drain routines

I'm not too sure what to make of the mbufs denied - other discussions on
the list seem to indicate it
as just an erroneous counter update and in fact the denies don't grow
with the udp drops, i.e. the
two seem uncorrelated.

Also, below are my current sysctl settings:

kern.ipc.nmbclusters: 25600
net.inet.udp.checksum: 1
net.inet.udp.maxdgram: 9216
net.inet.udp.recvspace: 42080
net.inet.udp.log_in_vain: 0
net.inet.udp.blackhole: 0
net.inet.udp.strict_mcast_mship: 0




Any ideas as to how I could fix this problem ?

Thanks,

Giuseppe






.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44E4AEBC.20400>