[CRIU] [PATCH 00/12] Support for packet's msg_name in receive queue of promiscous DGRAM sockets

Andrew Vagin avagin at virtuozzo.com
Fri Apr 29 10:44:11 PDT 2016


On Fri, Apr 29, 2016 at 06:54:59PM +0300, Kirill Tkhai wrote:
> On 29.04.2016 18:13, Andrew Vagin wrote:
> > https://travis-ci.org/criupatchwork/criu/builds/126673004
> 
> What this repository about? Is there patches which will definitely go to criu mainstream?

This repo is github.com/xemul/criu/criu-dev + your patches.

> 
> > On Fri, Apr 29, 2016 at 05:34:52PM +0300, Kirill Tkhai wrote:
> >> DGRAM packet, received using recvmsg, have msghdr populated:
> >>
> >> recvmsg(int sockfd, struct msghdr *msg, int flags)
> >>
> >> struct msghdr {
> >> 	void		*msg_name;
> >> 	int		msg_namelen;
> >> 	...
> >> };
> >>
> >> msg_name and msg_namelen contain the name of the sender of packet,
> >> which it's bound to.
> >>
> >> Currently, we do not support this. We restore the whole queue with
> >> the only sender (the receiver is peer for it, but there may be several
> >> senders), or with empty sender.
> >>
> >> This series add a support for "promiscous" receive queues and restore
> >> them correct.
> >>
> >> To do that, we determine sockets, which queue has several senders, and
> >> senders, who are involved it there. Sender's fds are sent to receives,
> >> and receivers restore their queues it correct order and with correct
> >> msg_names.
> >>
> >> This patchset should have a sequel, which introduces "ghost sockets",
> >> that are not supported there. Their packets are restored as having
> >> noname senders now.
> >>
> >> ---
> >>
> >> Kirill Tkhai (12):
> >>       unix: Link all sockets in unix_sockets list
> >>       unix: Add find_unix_sk_by_name()
> >>       unix: Add sender_ino of packets and socket
> >>       sk-queue: Allow to dump a skb sender
> >>       unix: Dump DGRAM packets and sockets senders
> >>       unix: Fixup queuer of promiscuous DGRAM receivers
> >>       unix: Resolve senders of packets in receive queue of DGRAM socket
> >>       files: Add file_desc_ops::receive method
> >>       files: Add get_unused_fd() helper
> >>       unix: Send senders fds of packets in receive queue to receiver
> >>       sk-queue: Allow to use several file descriptors to restore a queue
> >>       unix: Add a method for choosing sender of packet in promiscous DGRAM queue
> >>
> >>
> >>  criu/cr-restore.c       |    2 
> >>  criu/files.c            |  102 +++++++++++++++
> >>  criu/include/files.h    |   12 ++
> >>  criu/include/image.h    |    2 
> >>  criu/include/pstree.h   |    1 
> >>  criu/include/sk-queue.h |   15 ++
> >>  criu/sk-queue.c         |  146 ++++++++++++++++++++-
> >>  criu/sk-unix.c          |  322 ++++++++++++++++++++++++++++++++++++++++++++---
> >>  images/sk-packet.proto  |    1 
> >>  images/sk-unix.proto    |    2 
> >>  10 files changed, 567 insertions(+), 38 deletions(-)
> >>
> >> --
> >> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
> >> _______________________________________________
> >> CRIU mailing list
> >> CRIU at openvz.org
> >> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list