From: Asias He Date: Sun, 17 Jul 2011 08:57:00 +0000 (+0800) Subject: kvm tools: Introduce --guest-ip option X-Git-Tag: next-20110824~3^2~95 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=64e965bc984584a935a5e483eb772488496c76d7;p=karo-tx-linux.git kvm tools: Introduce --guest-ip option The --guest-ip option tells which IP address to give guest through DHCP. Signed-off-by: Asias He Signed-off-by: Pekka Enberg --- diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c index 8b7d08b0105c..01a1de27b45b 100644 --- a/tools/kvm/builtin-run.c +++ b/tools/kvm/builtin-run.c @@ -45,6 +45,7 @@ #define DEFAULT_CONSOLE "serial" #define DEFAULT_NETWORK "user" #define DEFAULT_HOST_ADDR "192.168.33.1" +#define DEFAULT_GUEST_ADDR "192.168.33.15" #define DEFAULT_GUEST_MAC "00:15:15:15:15:15" #define DEFAULT_SCRIPT "none" @@ -68,6 +69,7 @@ static const char *console; static const char *kvm_dev; static const char *network; static const char *host_ip_addr; +static const char *guest_ip; static const char *guest_mac; static const char *script; static const char *guest_name; @@ -164,6 +166,8 @@ static const struct option options[] = { "Network to use"), OPT_STRING('\0', "host-ip-addr", &host_ip_addr, "a.b.c.d", "Assign this address to the host side networking"), + OPT_STRING('\0', "guest-ip", &guest_ip, "a.b.c.d", + "Assign this address to the guest side networking"), OPT_STRING('\0', "guest-mac", &guest_mac, "aa:bb:cc:dd:ee:ff", "Assign this address to the guest side NIC"), OPT_STRING('\0', "tapscript", &script, "Script path", @@ -542,6 +546,9 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) if (!host_ip_addr) host_ip_addr = DEFAULT_HOST_ADDR; + if (!guest_ip) + guest_ip = DEFAULT_GUEST_ADDR; + if (!guest_mac) guest_mac = DEFAULT_GUEST_MAC; @@ -647,6 +654,7 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) if (strncmp(network, "none", 4)) { net_params.host_ip = host_ip_addr; + net_params.guest_ip = guest_ip; net_params.kvm = kvm; net_params.script = script; sscanf(guest_mac, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx", diff --git a/tools/kvm/include/kvm/virtio-net.h b/tools/kvm/include/kvm/virtio-net.h index e93e8e4cac8c..9ff0e153f8e9 100644 --- a/tools/kvm/include/kvm/virtio-net.h +++ b/tools/kvm/include/kvm/virtio-net.h @@ -4,10 +4,11 @@ struct kvm; struct virtio_net_parameters { - struct kvm *kvm; + const char *guest_ip; const char *host_ip; - char guest_mac[6]; const char *script; + char guest_mac[6]; + struct kvm *kvm; int mode; };