1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
// SPDX-License-Identifier: MIT
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;
}
|