SLiRP: Force resetting of the range number
This commit is contained in:
@@ -105,6 +105,7 @@ typedef struct netcard_conf_t {
|
|||||||
|
|
||||||
extern netcard_conf_t net_cards_conf[NET_CARD_MAX];
|
extern netcard_conf_t net_cards_conf[NET_CARD_MAX];
|
||||||
extern uint16_t net_card_current;
|
extern uint16_t net_card_current;
|
||||||
|
extern int slirp_card_num;
|
||||||
|
|
||||||
typedef int (*NETRXCB)(void *, uint8_t *, int);
|
typedef int (*NETRXCB)(void *, uint8_t *, int);
|
||||||
typedef int (*NETSETLINKSTATE)(void *, uint32_t link_state);
|
typedef int (*NETSETLINKSTATE)(void *, uint32_t link_state);
|
||||||
|
|||||||
@@ -470,13 +470,13 @@ net_slirp_thread(void *priv)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int slirp_card_num = 2;
|
int slirp_card_num = 2;
|
||||||
|
|
||||||
/* Initialize SLiRP for use. */
|
/* Initialize SLiRP for use. */
|
||||||
void *
|
void *
|
||||||
net_slirp_init(const netcard_t *card, const uint8_t *mac_addr, UNUSED(void *priv), char *netdrv_errbuf)
|
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));
|
net_slirp_t *slirp = calloc(1, sizeof(net_slirp_t));
|
||||||
memcpy(slirp->mac_addr, mac_addr, sizeof(slirp->mac_addr));
|
memcpy(slirp->mac_addr, mac_addr, sizeof(slirp->mac_addr));
|
||||||
slirp->card = (netcard_t *) card;
|
slirp->card = (netcard_t *) card;
|
||||||
@@ -639,7 +639,6 @@ net_slirp_close(void *priv)
|
|||||||
}
|
}
|
||||||
free(slirp->pkt.data);
|
free(slirp->pkt.data);
|
||||||
free(slirp);
|
free(slirp);
|
||||||
slirp_card_num--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const netdrv_t net_slirp_drv = {
|
const netdrv_t net_slirp_drv = {
|
||||||
|
|||||||
@@ -608,6 +608,7 @@ network_reset(void)
|
|||||||
ui_sb_update_icon(SB_NETWORK, 0);
|
ui_sb_update_icon(SB_NETWORK, 0);
|
||||||
ui_sb_update_icon_write(SB_NETWORK, 0);
|
ui_sb_update_icon_write(SB_NETWORK, 0);
|
||||||
|
|
||||||
|
slirp_card_num = 2;
|
||||||
#ifdef ENABLE_NETWORK_LOG
|
#ifdef ENABLE_NETWORK_LOG
|
||||||
network_dump_mutex = thread_create_mutex();
|
network_dump_mutex = thread_create_mutex();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user