virBufferAsprintf(&configbuf, "/%s/", fwd->domain);
if (VIR_SOCKET_ADDR_VALID(&fwd->addr)) {
g_autofree char *addr = virSocketAddrFormat(&fwd->addr);
+ int port = virSocketAddrGetPort(&fwd->addr);
if (!addr)
return -1;
- virBufferAsprintf(&configbuf, "%s\n", addr);
+ virBufferAddStr(&configbuf, addr);
+ if (port > 0)
+ virBufferAsprintf(&configbuf, "#%d", port);
+ virBufferAddChar(&configbuf, '\n');
if (!fwd->domain)
addNoResolv = true;
} else {
<forwarder addr='8.8.8.8'/>
<forwarder addr='8.8.4.4'/>
<forwarder domain='example.com' addr='192.168.1.1'/>
+ <forwarder domain='example2.com' addr='192.168.2.1' port='1234'/>
<forwarder domain='www.example.com'/>
</dns>
<ip address='192.168.122.1' netmask='255.255.255.0'>