From: Andrei Vagin <ava...@virtuozzo.com> nl_pktinfo control messages is used to get the extended destination group number.
Signed-off-by: Andrei Vagin <ava...@virtuozzo.com> --- criu/sk-queue.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/criu/sk-queue.c b/criu/sk-queue.c index 88e47b8..8124f75 100644 --- a/criu/sk-queue.c +++ b/criu/sk-queue.c @@ -10,6 +10,7 @@ #include <sys/socket.h> #include <sys/sendfile.h> #include <linux/socket.h> +#include <linux/netlink.h> #include "common/list.h" #include "imgset.h" @@ -127,6 +128,18 @@ static int dump_packet_cmsg(struct msghdr *mh, SkPacketEntry *pe, int flags) return -1; continue; } + if (ch->cmsg_level == SOL_NETLINK && + ch->cmsg_type == NETLINK_PKTINFO && + ch->cmsg_len == CMSG_LEN(sizeof(struct nl_pktinfo))) { + struct nl_pktinfo *info = CMSG_DATA(ch); + + /* Groups less than 32 are returned in msg_address */ + if (info->group < 32) + continue; + + pr_err("A sender group %d isn't supported\n", info->group); + return -1; + } pr_err("cmsg: len %ld type %d level %d\n", ch->cmsg_len, ch->cmsg_type, ch->cmsg_level); pr_err("Control messages in queue, not supported\n"); -- 1.8.3.1 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel