mirror of
https://github.com/qemu/qemu.git
synced 2024-11-28 06:13:46 +08:00
Set slirp client hostname.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1813 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
ffcdb539de
commit
115defd163
@ -262,9 +262,10 @@ Qemu can emulate several different models of network card. Valid values for
|
|||||||
@code{smc91c111} and @code{lance}. Not all devices are supported on all
|
@code{smc91c111} and @code{lance}. Not all devices are supported on all
|
||||||
targets.
|
targets.
|
||||||
|
|
||||||
@item -net user[,vlan=n]
|
@item -net user[,vlan=n][,hostname=name]
|
||||||
Use the user mode network stack which requires no administrator
|
Use the user mode network stack which requires no administrator
|
||||||
priviledge to run.
|
priviledge to run. @option{hotname=name} can be used to specify the client
|
||||||
|
hostname reported by the builtin DHCP server.
|
||||||
|
|
||||||
@item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
|
@item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
|
||||||
Connect the host TAP network interface @var{name} to VLAN @var{n} and
|
Connect the host TAP network interface @var{name} to VLAN @var{n} and
|
||||||
|
@ -228,6 +228,14 @@ static void bootp_reply(struct bootp_t *bp)
|
|||||||
val = htonl(LEASE_TIME);
|
val = htonl(LEASE_TIME);
|
||||||
memcpy(q, &val, 4);
|
memcpy(q, &val, 4);
|
||||||
q += 4;
|
q += 4;
|
||||||
|
|
||||||
|
if (*slirp_hostname) {
|
||||||
|
val = strlen(slirp_hostname);
|
||||||
|
*q++ = RFC1533_HOSTNAME;
|
||||||
|
*q++ = val;
|
||||||
|
memcpy(q, slirp_hostname, val);
|
||||||
|
q += val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
*q++ = RFC1533_END;
|
*q++ = RFC1533_END;
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ int slirp_add_exec(int do_pty, const char *args, int addr_low_byte,
|
|||||||
int guest_port);
|
int guest_port);
|
||||||
|
|
||||||
extern const char *tftp_prefix;
|
extern const char *tftp_prefix;
|
||||||
|
extern const char slirp_hostname[33];
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,8 @@ struct ex_list *exec_list;
|
|||||||
/* XXX: suppress those select globals */
|
/* XXX: suppress those select globals */
|
||||||
fd_set *global_readfds, *global_writefds, *global_xfds;
|
fd_set *global_readfds, *global_writefds, *global_xfds;
|
||||||
|
|
||||||
|
const char slirp_hostname[33];
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
static int get_dns_addr(struct in_addr *pdns_addr)
|
static int get_dns_addr(struct in_addr *pdns_addr)
|
||||||
|
10
vl.c
10
vl.c
@ -3151,6 +3151,11 @@ int net_client_init(const char *str)
|
|||||||
} else
|
} else
|
||||||
#ifdef CONFIG_SLIRP
|
#ifdef CONFIG_SLIRP
|
||||||
if (!strcmp(device, "user")) {
|
if (!strcmp(device, "user")) {
|
||||||
|
if (get_param_value(buf, sizeof(buf), "hostname", p)) {
|
||||||
|
if (strlen(buf) > 32)
|
||||||
|
buf[32] = 0;
|
||||||
|
strcpy(slirp_hostname, buf);
|
||||||
|
}
|
||||||
ret = net_slirp_init(vlan);
|
ret = net_slirp_init(vlan);
|
||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
@ -4597,8 +4602,9 @@ void help(void)
|
|||||||
"-net nic[,vlan=n][,macaddr=addr][,model=type]\n"
|
"-net nic[,vlan=n][,macaddr=addr][,model=type]\n"
|
||||||
" create a new Network Interface Card and connect it to VLAN 'n'\n"
|
" create a new Network Interface Card and connect it to VLAN 'n'\n"
|
||||||
#ifdef CONFIG_SLIRP
|
#ifdef CONFIG_SLIRP
|
||||||
"-net user[,vlan=n]\n"
|
"-net user[,vlan=n][,hostname=host]\n"
|
||||||
" connect the user mode network stack to VLAN 'n'\n"
|
" connect the user mode network stack to VLAN 'n' and send\n"
|
||||||
|
" hostname 'host' to DHCP clients\n"
|
||||||
#endif
|
#endif
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
"-net tap[,vlan=n],ifname=name\n"
|
"-net tap[,vlan=n],ifname=name\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user