| Line 15: |
Line 15: |
| | | | |
| | ==== criu_req_type ==== | | ==== criu_req_type ==== |
| − | There are only 2 request/response types for now. | + | There are 8 request/response types for now. Comments show cmdline analogs. |
| | <pre>enum criu_req_type { | | <pre>enum criu_req_type { |
| | EMPTY = 0; | | EMPTY = 0; |
| − | DUMP = 1; | + | DUMP = 1; /* criu dump */ |
| − | RESTORE = 2; | + | RESTORE = 2; /* criu restore */ |
| | + | CHECK = 3; /* criu check */ |
| | + | PRE_DUMP = 4; /* criu pre-dump */ |
| | + | PAGE_SERVER = 5; /* criu page-server */ |
| | + | |
| | + | NOTIFY = 6; |
| | + | |
| | + | CPUINFO_DUMP = 7; /* criu cpuinfo dump */ |
| | + | CPUINFO_CHECK = 8; /* criu cpuinfo check */ |
| | } | | } |
| | </pre> | | </pre> |
| Line 26: |
Line 34: |
| | It is used to store options. | | It is used to store options. |
| | <pre>message criu_opts { | | <pre>message criu_opts { |
| − | required int32 images_dir_fd = 1; | + | required int32 images_dir_fd = 1; |
| − | optional int32 pid = 2; | + | optional int32 pid = 2; /* if not set on dump, will dump requesting process */ |
| | + | |
| | + | optional bool leave_running = 3; |
| | + | optional bool ext_unix_sk = 4; |
| | + | optional bool tcp_established = 5; |
| | + | optional bool evasive_devices = 6; |
| | + | optional bool shell_job = 7; |
| | + | optional bool file_locks = 8; |
| | + | optional int32 log_level = 9 [default = 2]; |
| | + | optional string log_file = 10; /* No subdirs are allowed. Consider using work-dir */ |
| | + | |
| | + | optional criu_page_server_info ps = 11; |
| | | | |
| − | optional bool leave_running = 3; | + | optional bool notify_scripts = 12; |
| − | optional bool ext_unix_sk = 4; | + | |
| − | optional bool tcp_established = 5; | + | optional string root = 13; |
| − | optional bool evasive_devices = 6; | + | optional string parent_img = 14; |
| − | optional bool shell_job = 7; | + | optional bool track_mem = 15; |
| − | optional bool file_locks = 8; | + | optional bool auto_dedup = 16; |
| − | optional int32 log_level = 9 [default = 2]; | + | |
| − | optional string log_file = 10; | + | optional int32 work_dir_fd = 17; |
| | + | optional bool link_remap = 18; |
| | + | repeated criu_veth_pair veths = 19; |
| | + | |
| | + | optional uint32 cpu_cap = 20 [default = 0xffffffff]; |
| | + | optional bool force_irmap = 21; |
| | + | repeated string exec_cmd = 22; |
| | + | |
| | + | repeated ext_mount_map ext_mnt = 23; |
| | + | optional bool manage_cgroups = 24; |
| | + | repeated cgroup_root cg_root = 25; |
| | + | |
| | + | optional bool rst_sibling = 26; /* swrk only */ |
| | }</pre> | | }</pre> |
| | | | |
| Line 57: |
Line 88: |
| | </pre> | | </pre> |
| | | | |
| | + | ===== criu_page_server_info ===== |
| | + | Stores info about page-server. |
| | + | <pre> |
| | + | message criu_page_server_info { |
| | + | optional string address = 1; /* bind address -- if not set 0.0.0.0 is used */ |
| | + | optional int32 port = 2; /* bind port -- if not set on request, autobind is used and port is returned in response */ |
| | + | optional int32 pid = 3; /* page-server pid -- returned in response */ |
| | + | optional int32 fd = 4; /* could be used to inherit fd by page-server */ |
| | + | } |
| | + | </pre> |
| | + | ===== criu_veth_pair ===== |
| | + | TODO |
| | + | <pre> |
| | + | message criu_veth_pair { |
| | + | required string if_in = 1; |
| | + | required string if_out = 2; |
| | + | }; |
| | + | </pre> |
| | + | ===== ext_mount_map ===== |
| | + | TODO |
| | + | <pre> |
| | + | message ext_mount_map { |
| | + | required string key = 1; |
| | + | required string val = 2; |
| | + | }; |
| | + | </pre> |
| | + | ===== cgroup_root ===== |
| | + | TODO |
| | + | <pre> |
| | + | message cgroup_root { |
| | + | optional string ctrl = 1; |
| | + | required string path = 2; |
| | + | }; |
| | + | </pre> |
| | === Response === | | === Response === |
| | ==== criu_resp ==== | | ==== criu_resp ==== |
| | <pre>message criu_resp { | | <pre>message criu_resp { |
| − | required criu_req_type type = 1; | + | required criu_req_type type = 1; |
| − | required bool success = 2; | + | required bool success = 2; |
| | | | |
| − | optional criu_dump_resp dump = 3; | + | optional criu_dump_resp dump = 3; |
| − | optional criu_restore_resp restore = 4; | + | optional criu_restore_resp restore = 4; |
| | + | optional criu_notify notify = 5; |
| | + | optional criu_page_server_info ps = 6; |
| | } | | } |
| | </pre> | | </pre> |
| Line 86: |
Line 153: |
| | Field "pid" is set to the PID of the restored process. | | Field "pid" is set to the PID of the restored process. |
| | | | |
| | + | ==== criu_notify ==== |
| | + | TODO |
| | + | <pre> |
| | + | message criu_notify { |
| | + | optional string script = 1; |
| | + | optional int32 pid = 2; |
| | + | } |
| | + | </pre> |
| | == Run == | | == Run == |
| | === Server === | | === Server === |