Dump and restore internal veth devices

Submitted by Andrei Vagin on Feb. 28, 2017, 11:52 p.m.

Details

Reviewer None
Submitted Feb. 28, 2017, 11:52 p.m.
Last Updated March 22, 2017, 3:57 p.m.
Revision 3

Cover Letter

From: Andrei Vagin <avagin@virtuozzo.com>

This series adds support for internal veth devices. Here is no tricks.
We create a veth pair and for one of these devices we set a netns id
where it has to be created. Another device is created in the current
network namespace.

v2: add more comments and small cleanups

Andrei Vagin (12):
  [v2] images: add a network namespace id into images
  kerndat: check whether a kernel supports netns id-s or not
  netlink: add nla_get_s32()
  net: transfer ns_id structures to functions about c/r-ing netns
  netns: create a netlink route socket out of dump_links()
  [v2] netns: dump and restore network namespace ID-s
  net: give ns_id to link_info functions
  [v2] netns: restore internal veth devices
  net: split restore_links on read and restore parts
  net: create a list of all links
  net: dump and restore connected to a bridge links
  test: check veth devices from two network namespaces

 criu/cr-check.c                      |  28 ++
 criu/include/kerndat.h               |   2 +
 criu/include/libnetlink.h            |   2 +
 criu/include/namespaces.h            |  28 ++
 criu/include/net.h                   |  10 +-
 criu/include/tun.h                   |   3 +-
 criu/kerndat.c                       |  26 +
 criu/libnetlink.c                    |   5 +
 criu/namespaces.c                    |  13 +-
 criu/net.c                           | 944 ++++++++++++++++++++++++++++-------
 criu/tun.c                           |   5 +-
 images/netdev.proto                  |  18 +
 scripts/build/Dockerfile.tmpl        |   1 +
 scripts/travis/travis-tests          |   2 +-
 test/zdtm/static/Makefile            |   3 +
 test/zdtm/static/netns_sub_veth.c    | 179 +++++++
 test/zdtm/static/netns_sub_veth.desc |   6 +
 17 files changed, 1099 insertions(+), 176 deletions(-)
 create mode 100644 test/zdtm/static/netns_sub_veth.c
 create mode 100644 test/zdtm/static/netns_sub_veth.desc
  

Revisions