Revision 49ec9b40
b/net.c | ||
---|---|---|
447 | 447 |
/* slirp network adapter */ |
448 | 448 |
|
449 | 449 |
static int slirp_inited; |
450 |
static int slirp_restrict; |
|
451 |
static char *slirp_ip; |
|
450 | 452 |
static VLANClientState *slirp_vc; |
451 | 453 |
|
452 | 454 |
int slirp_can_output(void) |
... | ... | |
483 | 485 |
{ |
484 | 486 |
if (!slirp_inited) { |
485 | 487 |
slirp_inited = 1; |
486 |
slirp_init(0, NULL);
|
|
488 |
slirp_init(slirp_restrict, slirp_ip);
|
|
487 | 489 |
} |
488 | 490 |
slirp_vc = qemu_new_vlan_client(vlan, model, name, |
489 | 491 |
slirp_receive, NULL, NULL); |
... | ... | |
501 | 503 |
|
502 | 504 |
if (!slirp_inited) { |
503 | 505 |
slirp_inited = 1; |
504 |
slirp_init(0, NULL);
|
|
506 |
slirp_init(slirp_restrict, slirp_ip);
|
|
505 | 507 |
} |
506 | 508 |
|
507 | 509 |
p = redir_str; |
... | ... | |
587 | 589 |
|
588 | 590 |
if (!slirp_inited) { |
589 | 591 |
slirp_inited = 1; |
590 |
slirp_init(0, NULL);
|
|
592 |
slirp_init(slirp_restrict, slirp_ip);
|
|
591 | 593 |
} |
592 | 594 |
|
593 | 595 |
/* XXX: better tmp dir construction */ |
... | ... | |
1554 | 1556 |
if (get_param_value(buf, sizeof(buf), "hostname", p)) { |
1555 | 1557 |
pstrcpy(slirp_hostname, sizeof(slirp_hostname), buf); |
1556 | 1558 |
} |
1559 |
if (get_param_value(buf, sizeof(buf), "restrict", p)) { |
|
1560 |
slirp_restrict = (buf[0] == 'y') ? 1 : 0; |
|
1561 |
} |
|
1562 |
if (get_param_value(buf, sizeof(buf), "ip", p)) { |
|
1563 |
slirp_ip = strdup(buf); |
|
1564 |
} |
|
1557 | 1565 |
vlan->nb_host_devs++; |
1558 | 1566 |
ret = net_slirp_init(vlan, device, name); |
1559 | 1567 |
} else |
Also available in: Unified diff