Lines Matching refs:cps

39 static int colo_proxy_send(libxl__colo_proxy_state *cps, uint8_t *buff,  in colo_proxy_send()  argument
48 STATE_AO_GC(cps->ao); in colo_proxy_send()
60 msg.nlmsg_pid = cps->index; in colo_proxy_send()
74 ret = sendmsg(cps->sock_fd, &mh, 0); in colo_proxy_send()
83 static int colo_userspace_proxy_send(libxl__colo_proxy_state *cps, in colo_userspace_proxy_send() argument
91 ret = send(cps->sock_fd, (uint8_t *)&len, sizeof(len), 0); in colo_userspace_proxy_send()
96 ret = send(cps->sock_fd, (uint8_t *)buff, size, 0); in colo_userspace_proxy_send()
105 static int colo_userspace_proxy_recv(libxl__colo_proxy_state *cps, in colo_userspace_proxy_recv() argument
114 STATE_AO_GC(cps->ao); in colo_userspace_proxy_recv()
119 ret = setsockopt(cps->sock_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, in colo_userspace_proxy_recv()
128 ret = recv(cps->sock_fd, (uint8_t *)&len, sizeof(len), 0); in colo_userspace_proxy_recv()
134 ret = recv(cps->sock_fd, buff, size, 0); in colo_userspace_proxy_recv()
141 static int64_t colo_proxy_recv(libxl__colo_proxy_state *cps, uint8_t **buff, in colo_proxy_recv() argument
157 STATE_AO_GC(cps->ao); in colo_proxy_recv()
163 setsockopt(cps->sock_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); in colo_proxy_recv()
169 ret = recvmsg(cps->sock_fd, &mh, 0); in colo_proxy_recv()
197 setsockopt(cps->sock_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)); in colo_proxy_recv()
204 int colo_proxy_setup(libxl__colo_proxy_state *cps) in colo_proxy_setup() argument
214 STATE_AO_GC(cps->ao); in colo_proxy_setup()
217 if (cps->is_userspace_proxy) { in colo_proxy_setup()
224 port = atoi(cps->checkpoint_port); in colo_proxy_setup()
227 addr.sin_addr.s_addr = inet_addr(cps->checkpoint_host); in colo_proxy_setup()
236 cps->sock_fd = skfd; in colo_proxy_setup()
243 ret = colo_userspace_proxy_send(cps, (uint8_t *)sendbuf, strlen(sendbuf)); in colo_proxy_setup()
247 ret = colo_userspace_proxy_recv(cps, recvbuff, COLO_DEFAULT_WAIT_TIME); in colo_proxy_setup()
262 cps->sock_fd = skfd; in colo_proxy_setup()
283 cps->index = sa.nl_pid; in colo_proxy_setup()
284 ret = colo_proxy_send(cps, NULL, 0, COLO_PROXY_INIT); in colo_proxy_setup()
289 size = colo_proxy_recv(cps, &buff, 500000); in colo_proxy_setup()
319 close(cps->sock_fd); in colo_proxy_setup()
320 cps->sock_fd = -1; in colo_proxy_setup()
325 void colo_proxy_teardown(libxl__colo_proxy_state *cps) in colo_proxy_teardown() argument
331 if (cps->is_userspace_proxy) in colo_proxy_teardown()
334 if (cps->sock_fd >= 0) { in colo_proxy_teardown()
335 close(cps->sock_fd); in colo_proxy_teardown()
336 cps->sock_fd = -1; in colo_proxy_teardown()
342 void colo_proxy_preresume(libxl__colo_proxy_state *cps) in colo_proxy_preresume() argument
348 if (cps->is_userspace_proxy) { in colo_proxy_preresume()
350 colo_userspace_proxy_send(cps, in colo_proxy_preresume()
356 colo_proxy_send(cps, NULL, 0, COLO_CHECKPOINT); in colo_proxy_preresume()
360 void colo_proxy_postresume(libxl__colo_proxy_state *cps) in colo_proxy_postresume() argument
375 int colo_proxy_checkpoint(libxl__colo_proxy_state *cps, in colo_proxy_checkpoint() argument
385 STATE_AO_GC(cps->ao); in colo_proxy_checkpoint()
395 if (cps->is_userspace_proxy) { in colo_proxy_checkpoint()
396 ret = colo_userspace_proxy_recv(cps, recvbuff, timeout_us); in colo_proxy_checkpoint()
411 size = colo_proxy_recv(cps, &buff, timeout_us); in colo_proxy_checkpoint()