mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
ui/xemu-net.c: Move slirp port forward clearing into function
This commit is contained in:
committed by
mborgerson
parent
43c68c22a0
commit
37e0f59c81
+14
-10
@@ -164,19 +164,23 @@ static void remove_netdev(const char *name)
|
||||
qemu_del_net_client(nc);
|
||||
}
|
||||
|
||||
static void clear_slirp_port_forwards(void)
|
||||
{
|
||||
void *s = slirp_get_state_from_netdev(id);
|
||||
struct in_addr host_addr = { .s_addr = INADDR_ANY };
|
||||
for (int i = 0; i < g_config.net.nat.forward_ports_count; i++) {
|
||||
slirp_remove_hostfwd(s,
|
||||
g_config.net.nat.forward_ports[i].protocol ==
|
||||
CONFIG_NET_NAT_FORWARD_PORTS_PROTOCOL_UDP,
|
||||
host_addr,
|
||||
g_config.net.nat.forward_ports[i].host);
|
||||
}
|
||||
}
|
||||
|
||||
void xemu_net_disable(void)
|
||||
{
|
||||
if (g_config.net.backend == CONFIG_NET_BACKEND_NAT) {
|
||||
void *s = slirp_get_state_from_netdev(id);
|
||||
assert(s != NULL);
|
||||
struct in_addr host_addr = { .s_addr = INADDR_ANY };
|
||||
for (int i = 0; i < g_config.net.nat.forward_ports_count; i++) {
|
||||
slirp_remove_hostfwd(s,
|
||||
g_config.net.nat.forward_ports[i].protocol ==
|
||||
CONFIG_NET_NAT_FORWARD_PORTS_PROTOCOL_UDP,
|
||||
host_addr,
|
||||
g_config.net.nat.forward_ports[i].host);
|
||||
}
|
||||
clear_slirp_port_forwards();
|
||||
}
|
||||
|
||||
remove_netdev(id);
|
||||
|
||||
Reference in New Issue
Block a user