mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 10:13:56 -06:00
slirp: Add domainname option to slirp's DHCP server
This patch will allow the user to include the domainname option in replies from the built-in DHCP server. Signed-off-by: Benjamin Drung <benjamin.drung@profitbricks.com> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
This commit is contained in:
parent
c181ddaa17
commit
f18d137542
7 changed files with 31 additions and 7 deletions
12
net/slirp.c
12
net/slirp.c
|
@ -157,7 +157,8 @@ static int net_slirp_init(NetClientState *peer, const char *model,
|
|||
const char *bootfile, const char *vdhcp_start,
|
||||
const char *vnameserver, const char *vnameserver6,
|
||||
const char *smb_export, const char *vsmbserver,
|
||||
const char **dnssearch, Error **errp)
|
||||
const char **dnssearch, const char *vdomainname,
|
||||
Error **errp)
|
||||
{
|
||||
/* default settings according to historic slirp */
|
||||
struct in_addr net = { .s_addr = htonl(0x0a000200) }; /* 10.0.2.0 */
|
||||
|
@ -359,6 +360,11 @@ static int net_slirp_init(NetClientState *peer, const char *model,
|
|||
ip6_dns.s6_addr[15] |= 3;
|
||||
}
|
||||
|
||||
if (vdomainname && !*vdomainname) {
|
||||
error_setg(errp, "'domainname' parameter cannot be empty");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
nc = qemu_new_net_client(&net_slirp_info, peer, model, name);
|
||||
|
||||
|
@ -371,7 +377,7 @@ static int net_slirp_init(NetClientState *peer, const char *model,
|
|||
s->slirp = slirp_init(restricted, ipv4, net, mask, host,
|
||||
ipv6, ip6_prefix, vprefix6_len, ip6_host,
|
||||
vhostname, tftp_export, bootfile, dhcp,
|
||||
dns, ip6_dns, dnssearch, s);
|
||||
dns, ip6_dns, dnssearch, vdomainname, s);
|
||||
QTAILQ_INSERT_TAIL(&slirp_stacks, s, entry);
|
||||
|
||||
for (config = slirp_configs; config; config = config->next) {
|
||||
|
@ -958,7 +964,7 @@ int net_init_slirp(const Netdev *netdev, const char *name,
|
|||
user->ipv6_host, user->hostname, user->tftp,
|
||||
user->bootfile, user->dhcpstart,
|
||||
user->dns, user->ipv6_dns, user->smb,
|
||||
user->smbserver, dnssearch, errp);
|
||||
user->smbserver, dnssearch, user->domainname, errp);
|
||||
|
||||
while (slirp_configs) {
|
||||
config = slirp_configs;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue