Drop dependency on experimental script.
This change uses libvirt to configure virtual network bridge for cuttlefish.
Change-Id: I74744a3b61ea71cf19222ee8e95177db4085ac2d
(cherry picked from commit 24c8ce5ee05d77de0da247ec06b30385146ad25f)
diff --git a/README.md b/README.md
index 0c2c55a..da9b903 100644
--- a/README.md
+++ b/README.md
@@ -52,11 +52,6 @@
sudo service libvirt-bin restart
```
-* Make sure to start the `abr0` android bridge using
- `experimental/etc/avd/android-metadata-server.sh` script.
-
- TODO(ender): remove this and make this script part of init.
-
### I'm seeing `permission denied` errors
libvirt is not executing virtual machines on behalf of the calling user.
diff --git a/launcher/launcher.sh b/launcher/launcher.sh
index 4219337..b45e96c 100755
--- a/launcher/launcher.sh
+++ b/launcher/launcher.sh
@@ -1,9 +1,21 @@
#!/bin/bash
trap 'rm -f /tmp/ivshmem_socket /tmp/ivshmem_socket_client' INT KILL EXIT
-DIR=$(dirname $(realpath $0))
+ABS_DIR=$(dirname $(realpath $0))
WS=$(bazel info workspace)
BIN=$(bazel info bazel-bin)
-DIR=${DIR##${WS}}
-bazel build /${DIR}:launcher
-${BIN}/${DIR}/launcher "$@"
+BAZEL_DIR=${ABS_DIR##${WS}}
+bazel build /${BAZEL_DIR}:launcher
+
+which virsh &> /dev/null
+if (( $? != 0 )); then
+ echo "Please install libvirt-bin package."
+ exit
+fi
+
+ip link show abr0 &>/dev/null
+if (( $? != 0 )); then
+ virsh net-create ${ABS_DIR}/network-abr0.xml
+fi
+
+${BIN}/${BAZEL_DIR}/launcher "$@"
diff --git a/launcher/network-abr0.xml b/launcher/network-abr0.xml
new file mode 100644
index 0000000..a745b42
--- /dev/null
+++ b/launcher/network-abr0.xml
@@ -0,0 +1,14 @@
+<network>
+ <name>Android Bridge</name>
+ <forward mode='nat'>
+ <nat>
+ <port start='1024' end='65535'/>
+ </nat>
+ </forward>
+ <bridge name='abr0' stp='on' delay='0'/>
+ <ip address='192.168.99.1' netmask='255.255.255.0'>
+ <dhcp>
+ <range start='192.168.99.10' end='192.168.99.10'/>
+ </dhcp>
+ </ip>
+</network>