mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
netlink-socket: Don't bother logging SO_RCVBUFFORCE failure as non-root.
Some Open vSwitch utilities can do useful work when they are not run as root. Without this commit, these utilities will log a warning on failure to use the SO_RCVBUFFORCE socket option if they open any Netlink sockets. This will always happen, it does not report anything unexpected or fixable as non-root, and sometimes it makes users wonder if something is wrong, so there is no benefit to logging it. This commit drops it in that case. Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -128,8 +128,12 @@ nl_sock_create(int protocol, struct nl_sock **sockp)
|
||||
rcvbuf = 1024 * 1024;
|
||||
if (setsockopt(sock->fd, SOL_SOCKET, SO_RCVBUFFORCE,
|
||||
&rcvbuf, sizeof rcvbuf)) {
|
||||
VLOG_WARN_RL(&rl, "setting %d-byte socket receive buffer failed (%s)",
|
||||
rcvbuf, strerror(errno));
|
||||
/* Only root can use SO_RCVBUFFORCE. Everyone else gets EPERM.
|
||||
* Warn only if the failure is therefore unexpected. */
|
||||
if (errno != EPERM || !getuid()) {
|
||||
VLOG_WARN_RL(&rl, "setting %d-byte socket receive buffer failed "
|
||||
"(%s)", rcvbuf, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
retval = get_socket_rcvbuf(sock->fd);
|
||||
|
Reference in New Issue
Block a user