Minor fixes + support hostname

This commit is contained in:
Josh Kunz 2019-03-11 22:32:16 -07:00
parent b17ffa6d6f
commit e78aac3b9c
2 changed files with 8 additions and 5 deletions

View File

@ -4,6 +4,7 @@ import argparse
import ipaddress import ipaddress
import json import json
import re import re
import socket
import subprocess import subprocess
from typing import List from typing import List
@ -22,9 +23,10 @@ maxleases 1
interface {dhcp_intf} interface {dhcp_intf}
option dns {dns} option dns {dns}
option router {gateway} option router {gateway}
option subnet {subnet} option subnet {subnet}
option hostname {hostname}
""" """
def nameservers() -> List[str]: def nameservers() -> List[str]:
@ -70,8 +72,9 @@ def generate_conf(intf_name : str) -> str:
return DHCP_CONF_TEMPLATE.format( return DHCP_CONF_TEMPLATE.format(
dhcp_intf = intf_name, dhcp_intf = intf_name,
dns = ' '.join(nameservers()), dns = ' '.join(nameservers()),
host_addr = host_addr.ip,
gateway = droute['gateway'], gateway = droute['gateway'],
host_addr = host_addr.ip,
hostname = socket.gethostname(),
subnet = host_addr.network.netmask, subnet = host_addr.network.netmask,
) )

2
run.sh
View File

@ -50,7 +50,7 @@ udhcpd -I $DUMMY_DHCPD_IP -f $DHCPD_CONF_FILE &
# -serial mon:stdio: use "monitored stdio" as our serial output. # -serial mon:stdio: use "monitored stdio" as our serial output.
# -nic: Use a TAP interface with our custom up/down scripts. # -nic: Use a TAP interface with our custom up/down scripts.
# -drive: The VM image we're booting. # -drive: The VM image we're booting.
qemu-system-x86_64 -enable-kvm -nographic -serial mon:stdio \ exec qemu-system-x86_64 -enable-kvm -nographic -serial mon:stdio \
-nic tap,id=qemu0,script=$QEMU_IFUP,downscript=$QEMU_IFDOWN \ -nic tap,id=qemu0,script=$QEMU_IFUP,downscript=$QEMU_IFDOWN \
"$@" \ "$@" \
-drive format=raw,file=/image -drive format=raw,file=/image