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
|
||||
targets.
|
||||
|
||||
@item -net user[,vlan=n]
|
||||
@item -net user[,vlan=n][,hostname=name]
|
||||
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]
|
||||
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);
|
||||
memcpy(q, &val, 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;
|
||||
|
||||
|
@ -32,6 +32,7 @@ int slirp_add_exec(int do_pty, const char *args, int addr_low_byte,
|
||||
int guest_port);
|
||||
|
||||
extern const char *tftp_prefix;
|
||||
extern const char slirp_hostname[33];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -25,6 +25,8 @@ struct ex_list *exec_list;
|
||||
/* XXX: suppress those select globals */
|
||||
fd_set *global_readfds, *global_writefds, *global_xfds;
|
||||
|
||||
const char slirp_hostname[33];
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
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
|
||||
#ifdef CONFIG_SLIRP
|
||||
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);
|
||||
} else
|
||||
#endif
|
||||
@ -4597,8 +4602,9 @@ void help(void)
|
||||
"-net nic[,vlan=n][,macaddr=addr][,model=type]\n"
|
||||
" create a new Network Interface Card and connect it to VLAN 'n'\n"
|
||||
#ifdef CONFIG_SLIRP
|
||||
"-net user[,vlan=n]\n"
|
||||
" connect the user mode network stack to VLAN 'n'\n"
|
||||
"-net user[,vlan=n][,hostname=host]\n"
|
||||
" connect the user mode network stack to VLAN 'n' and send\n"
|
||||
" hostname 'host' to DHCP clients\n"
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
"-net tap[,vlan=n],ifname=name\n"
|
||||
|
Loading…
Reference in New Issue
Block a user