/* Flush and close. */ static void netmap_cleanup(NetClientState *nc) { NetmapState *s = DO_UPCAST(NetmapState, nc, nc); qemu_purge_queued_packets(nc); netmap_poll(nc, false); nm_close(s->nmd); s->nmd = NULL; }
static void vnic_cleanup(VLANClientState *ncp) { VNICState *vsp; vsp = DO_UPCAST(VNICState, vns_nc, ncp); qemu_purge_queued_packets(ncp); vnd_close(vsp->vns_hdl); }
static void vhost_user_cleanup(NetClientState *nc) { VhostUserState *s = DO_UPCAST(VhostUserState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); s->vhost_net = NULL; } qemu_purge_queued_packets(nc); }
static void tap_cleanup(VLANClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); qemu_purge_queued_packets(nc); if (s->down_script[0]) launch_script(s->down_script, s->down_script_arg, s->fd); tap_read_poll(s, 0); tap_write_poll(s, 0); close(s->fd); }
static void vhost_user_cleanup(NetClientState *nc) { VhostUserState *s = DO_UPCAST(VhostUserState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); g_free(s->vhost_net); s->vhost_net = NULL; } if (nc->queue_index == 0) { qemu_chr_fe_deinit(&s->chr); } qemu_purge_queued_packets(nc); }
static void vhost_user_cleanup(NetClientState *nc) { VhostUserState *s = DO_UPCAST(VhostUserState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); s->vhost_net = NULL; } if (s->chr) { qemu_chr_add_handlers(s->chr, NULL, NULL, NULL, NULL); qemu_chr_fe_release(s->chr); s->chr = NULL; } qemu_purge_queued_packets(nc); }
int tap_disable(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); int ret; if (s->enabled == 0) { return 0; } else { ret = tap_fd_disable(s->fd); if (ret == 0) { qemu_purge_queued_packets(nc); s->enabled = false; tap_update_fd_handler(s); } return ret; } }
static void tap_cleanup(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); s->vhost_net = NULL; } qemu_purge_queued_packets(nc); if (s->down_script[0]) launch_script(s->down_script, s->down_script_arg, s->fd); tap_read_poll(s, false); tap_write_poll(s, false); close(s->fd); s->fd = -1; }
static void vhost_user_cleanup(NetClientState *nc) { NetVhostUserState *s = DO_UPCAST(NetVhostUserState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); g_free(s->vhost_net); s->vhost_net = NULL; } if (nc->queue_index == 0) { if (s->watch) { g_source_remove(s->watch); s->watch = 0; } qemu_chr_fe_deinit(&s->chr, true); } qemu_purge_queued_packets(nc); }
static void tap_cleanup(NetClientState *nc) { TAPState *s = DO_UPCAST(TAPState, nc, nc); if (s->vhost_net) { vhost_net_cleanup(s->vhost_net); s->vhost_net = NULL; } qemu_purge_queued_packets(nc); tap_exit_notify(&s->exit, NULL); qemu_remove_exit_notifier(&s->exit); tap_read_poll(s, false); tap_write_poll(s, false); close(s->fd); s->fd = -1; }