'dropped due to full socket buffers' by SNMP

Victor Gamov vit at otcnet.ru
Wed Dec 30 09:44:23 UTC 2020


Hi Eugene

Thank for your reply

On 30/12/2020 02:13, Eugene Grosbein wrote:
> 29.12.2020 23:36, Victor Gamov wrote:
> 
> Please do not top-post.
> 
>> Thanks.
>>
>>
>> On 30/11/2020 18:33, Victor Gamov wrote:
>>> Hi All
>>>
>>> Can somebody help me to get UDP 'dropped due to full socket buffers' by SNMP?  Is it possible?  Now I'm getting it with
>>> `netstat -n -p udp -f inet -s`
>>> but SNMP will be more useful for remote monitoring.
>>>
>> And one more question about 'dropped due to full socket buffers':  how to avoid it?  Which params must be tuned?
> 
> Both problems generally mean that outgoing link for that UDP packets is congested,
> so socket buffers start to fill until they are full.
> 
> What is "media" for that UDP data - some syntetic tunnel or plain ethernet link or something else?

It's 10G Intel card (via ix driver) attached to D-Link switch

This Host-A got many multicast UDP streams via many VLANs and resend 
streams to one VLAN-750 (mainly).  Every multicast serviced by its own 
process.

Interface utilization about 1Gbit/s for receive and 800Mbit/s for transmit.

> You may find useful this old thread dealing with similar problem:
> http://freebsd.1045724.x6.nabble.com/SNMP-No-Bufferspace-td6333081.html

Thanks for this link.

'vmstat -i | grep ix0' output followed:
=====
irq264: ix0:rxq0             90527644527      21675
irq265: ix0:rxq1             95793018351      22936
irq266: ix0:rxq2             96075009541      23004
irq267: ix0:rxq3             93444280619      22374
irq268: ix0:aq                         3          0
=====


'netstat -idnh -W' show no errs/drops


'netstat -m'
=====
12525/7470/19995 mbufs in use (current/cache/total)
12484/4766/17250/1005602 mbuf clusters in use (current/cache/total/max)
158/1866 mbuf+clusters out of packet secondary zone in use (current/cache)
0/116/116/502800 4k (page size) jumbo clusters in use 
(current/cache/total/max)
0/0/0/148978 9k jumbo clusters in use (current/cache/total/max)
0/0/0/83800 16k jumbo clusters in use (current/cache/total/max)
28099K/11863K/39962K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for mbufs delayed (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters delayed (4k/9k/16k)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0 sendfile syscalls
0 sendfile syscalls completed without I/O request
0 requests for I/O initiated by sendfile
0 pages read by sendfile as part of a request
0 pages were valid at time of a sendfile request
0 pages were valid and substituted to bogus page
0 pages were requested for read ahead by applications
0 pages were read ahead by sendfile
0 times sendfile encountered an already busy page
0 requests for sfbufs denied
0 requests for sfbufs delayed
======



Currently I'm thinking about ethernet flow control: Host-B connected to 
VLAN-750 on the third switch has 1G link (via igb driver) and both 
Host-A and Host-B has fc=3.  So when Host-B get microburst it can send 
PAUSE and Host-A start to fill queue.  But FC disabled for all switches 
and I'm not sure about PAUSE can be propagated from Host-A to Host-B

-- 
CU,
Victor Gamov


More information about the freebsd-net mailing list