diff --git a/src/include/86box/network.h b/src/include/86box/network.h index 01454c6f9..5a6651b5b 100644 --- a/src/include/86box/network.h +++ b/src/include/86box/network.h @@ -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); diff --git a/src/network/net_slirp.c b/src/network/net_slirp.c index e8cfd6cd7..9d8231034 100644 --- a/src/network/net_slirp.c +++ b/src/network/net_slirp.c @@ -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 = { diff --git a/src/network/network.c b/src/network/network.c index 9b56515e8..661da7250 100644 --- a/src/network/network.c +++ b/src/network/network.c @@ -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