[virt-tools-list] VirtViewer and TCP Keepalives

Marc-André Lureau mlureau at redhat.com
Tue Sep 17 12:43:56 UTC 2013



----- Original Message -----
> Just downloaded spice-gtk3 source. When I grep 'setsockopt', the only
> instance I see is setting TCP_NODELAY. It seems that while spice-gtk may [1]
> set SO_KEEPALIVE, spice-gtk3 does not.

spice-gtk uses glib, g_socket_set_keepalive(), it was added in 0.10:
http://cgit.freedesktop.org/spice/spice-gtk/commit/?id=8fe6547b6181fb7acbabedcd6ed95caf263dd8cc

This can be verified with strace:

elmarco at anakao:~$ strace -e trace=setsockopt -- spicy -p 5900 
setsockopt(7, SOL_SOCKET, SO_ATTACH_FILTER, "\10\0\0\0\0\0\0\0\240\202J\5\377\177\0\0", 16) = 0
setsockopt(7, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
setsockopt(15, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(15, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(18, SOL_SOCKET, SO_PRIORITY, [6], 4) = 0
setsockopt(18, SOL_SOCKET, SO_RCVBUF, [65472], 4) = 0
setsockopt(18, SOL_SOCKET, SO_SNDBUF, [65472], 4) = 0
setsockopt(18, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
setsockopt(19, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(19, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(20, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(20, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(21, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(21, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(22, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(22, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(23, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(23, SOL_TCP, TCP_NODELAY, [1], 4) = 0




More information about the virt-tools-list mailing list