sflow / vpp-sflow

sFlow plugin for VPP
Apache License 2.0
6 stars 0 forks source link

EMSGSIZ from sendmsg() to PSAMPLE #1

Closed sflow closed 1 month ago

sflow commented 2 months ago

Under high load conditions we see EMSGSIZ returned from sendmsg() call to send sample to PSAMPLE, although some samples appear to be getting through. If the netlink socket were full we might expect to see EAGAIN or EWOULDBLOCK. Not sure why we get EMSGSIZ.

pimvanpelt commented 2 months ago

Would raising the netlink socket write buffer be helpful?

In linux-cp, we specifically set larger read buffer so that the kernel can burst as we retrieve netlink messages. See LIBNL's nl_socket_set_buffer_size() in src/plugins/linux-cp/lcp_nl.c L803 and L918.

sflow commented 2 months ago

It turns out this is related to issue #6