static void msgproc_device_req_network(ECS_Client *ccli, ECS__DeviceReq *msg, char *cmd)
{
char *data = NULL;
- char ret[2] = {'1', 0};
if (msg->has_data && msg->data.len > 0) {
data = (char *) g_malloc0(msg->data.len + 1);
memcpy(data, msg->data.data, msg->data.len);
LOG_SEVERE("Network redirection failed, monitor is null.\n");
goto END;
}
+#ifdef CONFIG_SLIRP
if (maru_hostfwd_add(&mon->common, data) < 0) {
+ char ret[2] = {'1', 0};
LOG_SEVERE("redirect [%s] fail\n", data);
make_send_device_ntf(cmd, MSG_NET_GROUP, MSG_NET_ACTION, ret);
} else {
LOG_INFO("redirect [%s] success\n", data);
}
+#endif
} else {
LOG_SEVERE("Network redirection data is null.\n");
return;
int ret = -1;
/* no need to redir if network is tap */
+#ifdef CONFIG_SLIRP
if (!is_netclient_tap_attached()) {
if (!hostfwd_try_add(0, NULL, base_port + SDB_TCP_INDEX,
NULL, SDB_GUEST_PORT)) {
return -1;
}
}
-
+#endif //CONFIG_SLIRP
if ((ret = check_port_bind_listen(base_port + ECS_TCP_INDEX)) < 0) {
LOG_INFO("TCP port %"PRIu32" is aleady occupied",
base_port + ECS_TCP_INDEX);
-
+#ifdef CONFIG_SLIRP
if (!is_netclient_tap_attached()) {
hostfwd_try_remove(0, NULL, base_port + SDB_TCP_INDEX);
hostfwd_try_remove(0, NULL, base_port + GDB_TCP_INDEX);
}
-
+#endif //CONFIG_SLIRP
return -1;
}