The dwdump utility opens two netlink sockets, for control and data
messages. The latter can be easily overwhelmed if packets are dropped at
a high rate, resulting in ENOBUFS errors upon receive.
The dwdump utility correctly ignores such errors, but the situation can
be improved by instructing the kernel not to emit such errors in the
first place. This avoids the "go up, go down" effect described in kernel
commit 38938bfe3489 ("netlink: add NETLINK_NO_ENOBUFS socket flag").
Achieve this by setting the NETLINK_NO_ENOBUFS socket option on the data
socket.
The dwdump utility opens two netlink sockets, for control and data messages. The latter can be easily overwhelmed if packets are dropped at a high rate, resulting in ENOBUFS errors upon receive.
The dwdump utility correctly ignores such errors, but the situation can be improved by instructing the kernel not to emit such errors in the first place. This avoids the "go up, go down" effect described in kernel commit 38938bfe3489 ("netlink: add NETLINK_NO_ENOBUFS socket flag").
Achieve this by setting the NETLINK_NO_ENOBUFS socket option on the data socket.
Signed-off-by: Ido Schimmel idosch@nvidia.com