syntax = "proto2"; import "macvlan.proto"; import "opts.proto"; import "tun.proto"; import "sysctl.proto"; import "sit.proto"; enum nd_type { LOOPBACK = 1; VETH = 2; TUN = 3; /* * External link -- for those CRIU only dumps and restores * link parameters such as flags, address, MTU, etc. The * existence of the link on restore should be provided * by the setup-namespaces script. */ EXTLINK = 4; VENET = 5; /* OpenVZ device */ BRIDGE = 6; MACVLAN = 7; SIT = 8; } message net_device_entry { required nd_type type = 1; required uint32 ifindex = 2; required uint32 mtu = 3; required uint32 flags = 4 [(criu).hex = true]; required string name = 5; optional tun_link_entry tun = 6; optional bytes address = 7; repeated int32 conf = 8; repeated sysctl_entry conf4 = 9; repeated sysctl_entry conf6 = 10; optional macvlan_link_entry macvlan = 11; optional uint32 peer_ifindex = 12; optional uint32 peer_nsid = 13; optional uint32 master = 14; optional sit_entry sit = 15; } message netns_id { /* This is CRIU's id which is allocated for each namespace */ required uint32 target_ns_id = 1; /* * This is an id which can be used to address this namespace * from another network namespace. Each network namespace has * one set of id-s for other namespaces. */ required int32 netnsid_value = 2; } message netns_entry { repeated int32 def_conf = 1; repeated int32 all_conf = 2; repeated sysctl_entry def_conf4 = 3; repeated sysctl_entry all_conf4 = 4; repeated sysctl_entry def_conf6 = 5; repeated sysctl_entry all_conf6 = 6; repeated netns_id nsids = 7; optional string ext_key = 8; repeated sysctl_entry unix_conf = 9; }