SLiRP: Force resetting of the range number

This commit is contained in:
RichardG867
2025-09-05 17:21:19 -03:00
parent 15231c19aa
commit f4f39f2858
3 changed files with 4 additions and 3 deletions

View File

@@ -105,6 +105,7 @@ typedef struct netcard_conf_t {
extern netcard_conf_t net_cards_conf[NET_CARD_MAX];
extern uint16_t net_card_current;
extern int slirp_card_num;
typedef int (*NETRXCB)(void *, uint8_t *, int);
typedef int (*NETSETLINKSTATE)(void *, uint32_t link_state);

View File

@@ -470,13 +470,13 @@ net_slirp_thread(void *priv)
}
#endif
static int slirp_card_num = 2;
int slirp_card_num = 2;
/* Initialize SLiRP for use. */
void *
net_slirp_init(const netcard_t *card, const uint8_t *mac_addr, UNUSED(void *priv), char *netdrv_errbuf)
{
slirp_log("SLiRP: initializing...\n");
pclog("SLiRP: initializing with range %d...\n", slirp_card_num);
net_slirp_t *slirp = calloc(1, sizeof(net_slirp_t));
memcpy(slirp->mac_addr, mac_addr, sizeof(slirp->mac_addr));
slirp->card = (netcard_t *) card;
@@ -639,7 +639,6 @@ net_slirp_close(void *priv)
}
free(slirp->pkt.data);
free(slirp);
slirp_card_num--;
}
const netdrv_t net_slirp_drv = {

View File

@@ -608,6 +608,7 @@ network_reset(void)
ui_sb_update_icon(SB_NETWORK, 0);
ui_sb_update_icon_write(SB_NETWORK, 0);
slirp_card_num = 2;
#ifdef ENABLE_NETWORK_LOG
network_dump_mutex = thread_create_mutex();
#endif