[cros_vm]: Support for vlan.
BUG=chromium:782664
TEST=manual
Change-Id: I6e0ee1c4668bb58cfcaa0dde8c37450ecf6c52fa
Reviewed-on: https://chromium-review.googlesource.com/780726
Commit-Ready: Achuith Bhandarkar <achuith@chromium.org>
Tested-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/scripts/cros_vm.py b/scripts/cros_vm.py
index 7cfc203..202484b 100644
--- a/scripts/cros_vm.py
+++ b/scripts/cros_vm.py
@@ -172,8 +172,14 @@
'-chardev', 'pipe,id=control_pipe,path=%s' % self.kvm_monitor,
'-serial', 'file:%s' % self.kvm_serial,
'-mon', 'chardev=control_pipe',
- '-net', 'nic,model=virtio',
- '-net', 'user,hostfwd=tcp:127.0.0.1:%d-:22' % self.ssh_port,
+ # Qemu-vlans are used by qemu to separate out network traffic on the
+ # slirp network bridge. qemu forwards traffic on a slirp vlan to all
+ # ports conected on that vlan. By default, slirp ports are on vlan
+ # 0. We explicitly set a vlan here so that another qemu VM using
+ # slirp doesn't conflict with our network traffic.
+ '-net', 'nic,model=virtio,vlan=%d' % self.ssh_port,
+ '-net', 'user,hostfwd=tcp:127.0.0.1:%d-:22,vlan=%d'
+ % (self.ssh_port, self.ssh_port),
'-drive', 'file=%s,index=0,media=disk,cache=unsafe,format=raw'
% self.image_path]
if self.enable_kvm: