diff --git a/tools/dev/bin/onos-setup-p4-dev b/tools/dev/bin/onos-setup-p4-dev
index f0e94c9..4ec48f3 100755
--- a/tools/dev/bin/onos-setup-p4-dev
+++ b/tools/dev/bin/onos-setup-p4-dev
@@ -2,4 +2,4 @@
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
-bash ${DIR}/../p4vm/install-p4-tools.sh
+bash ${DIR}/../p4vm/install-p4-tools.sh "$@"
diff --git a/tools/dev/p4vm/install-p4-tools.sh b/tools/dev/p4vm/install-p4-tools.sh
index e6c7269..cdd863c 100755
--- a/tools/dev/p4vm/install-p4-tools.sh
+++ b/tools/dev/p4vm/install-p4-tools.sh
@@ -9,6 +9,10 @@
 # 4 GB of RAM
 # 2 cores
 # 8 GB free hard drive space (~4 GB to build everything)
+#
+# To execute up to a given step, pass the step name as the first argument. For
+# example, to install PI, but not BMv2, p4c, etc:
+#   ./install-p4-tools.sh PI
 # -----------------------------------------------------------------------------
 
 # Exit on errors.
@@ -24,7 +28,6 @@
 GRPC_COMMIT="tags/v1.3.2"
 LIBYANG_COMMIT="v0.14-r1"
 SYSREPO_COMMIT="v0.7.2"
-P4RT_TEST_COMMIT="master"
 
 NUM_CORES=`grep -c ^processor /proc/cpuinfo`
 
@@ -32,6 +35,9 @@
 # reduce CPU/memory footprint.
 DEBUG_FLAGS=${DEBUG_FLAGS:-true}
 
+# Execute up to the given step (first argument), or all if not defined.
+LAST_STEP=${1:-all}
+
 function do_requirements {
     sudo apt update
     sudo apt-get install -y --no-install-recommends \
@@ -83,7 +89,7 @@
         wget \
         unzip
 
-    sudo -H pip install setuptools cffi grpcio scapy ipaddr
+    sudo -H pip install setuptools cffi ipaddr pypcap
 }
 
 function do_requirements_1404 {
@@ -245,7 +251,7 @@
 function do_pi_bmv2_deps {
     checkout_bmv2
     # From bmv2's install_deps.sh.
-    # Nanomsg is required also by p4runtime.
+    # Nanomsg is required also by PI.
     tmpdir=`mktemp -d -p .`
     cd ${tmpdir}
     bash ../travis/install-thrift.sh
@@ -256,12 +262,12 @@
     sudo rm -rf $tmpdir
 }
 
-function do_p4runtime {
+function do_PI {
     cd ${BUILD_DIR}
-    if [ ! -d p4runtime ]; then
-        git clone https://github.com/p4lang/PI.git p4runtime
+    if [ ! -d PI ]; then
+        git clone https://github.com/p4lang/PI.git
     fi
-    cd p4runtime
+    cd PI
     git fetch
     git checkout ${PI_COMMIT}
     git submodule update --init --recursive
@@ -329,16 +335,27 @@
     sudo ldconfig
 }
 
-function do_p4rt_test {
+function do_scapy-vxlan {
     cd ${BUILD_DIR}
-    if [ ! -d p4rt-test ]; then
-        git clone https://github.com/TakeshiTseng/P4-runtime-test-tool.git p4rt-test
+    if [ ! -d scapy-vxlan ]; then
+        git clone https://github.com/p4lang/scapy-vxlan.git
     fi
-    cd p4rt-test
+    cd scapy-vxlan
+
     git pull origin master
 
-    sudo rm -f /usr/local/bin/p4rt-test
-    sudo ln -s ${BUILD_DIR}/p4rt-test/main.py /usr/local/bin/p4rt-test
+    sudo python setup.py install
+}
+
+function do_ptf {
+    cd ${BUILD_DIR}
+    if [ ! -d ptf ]; then
+        git clone https://github.com/p4lang/ptf.git
+    fi
+    cd ptf
+    git pull origin master
+
+    sudo python setup.py install
 }
 
 function check_commit {
@@ -367,12 +384,12 @@
     commit_id="$1"
     proj_dir="$2"
     func_name="$3"
-    simple_name="$4"
+    step_name="$4"
+    commit_file=${BUILD_DIR}/${proj_dir}/.last_built_commit_${step_name}
     if [ ${MUST_DO_ALL} = true ] \
-        || [ ${commit_id} = "master" ] \
-        || check_commit ${commit_id} ${proj_dir}/.last_built_commit; then
+        || check_commit ${commit_id} ${commit_file}; then
         echo "#"
-        echo "# Building ${simple_name} (${commit_id})"
+        echo "# Building ${step_name} (${commit_id})"
         echo "#"
         # Print commands used to install to aid debugging
         set -x
@@ -392,13 +409,17 @@
             DID_REQUIREMENTS=true
         fi
         eval ${func_name}
-        echo ${commit_id} > ${BUILD_DIR}/${proj_dir}/.last_built_commit
+        echo ${commit_id} > ${commit_file}
         # Build all next projects as they might depend on this one.
         MUST_DO_ALL=true
         # Disable printing to reduce output
         set +x
     else
-        echo "${proj_dir} is up to date (commit ${commit_id})"
+        echo "${step_name} is up to date (commit ${commit_id})"
+    fi
+    # Exit if last step.
+    if [ ${step_name} = ${LAST_STEP} ]; then
+        exit
     fi
 }
 
@@ -411,9 +432,10 @@
 # check_and_do ${LIBYANG_COMMIT} libyang do_libyang libyang
 # check_and_do ${SYSREPO_COMMIT} sysrepo do_sysrepo sysrepo
 check_and_do ${BMV2_COMMIT} bmv2 do_pi_bmv2_deps bmv2-deps
-check_and_do ${PI_COMMIT} p4runtime do_p4runtime p4runtime
+check_and_do ${PI_COMMIT} PI do_PI PI
 check_and_do ${BMV2_COMMIT} bmv2 do_bmv2 bmv2
 check_and_do ${P4C_COMMIT} p4c do_p4c p4c
-check_and_do ${P4RT_TEST_COMMIT} p4rt-test do_p4rt_test p4rt-test
+check_and_do master scapy-vxlan do_scapy-vxlan scapy-vxlan
+check_and_do master ptf do_ptf ptf
 
 echo "Done!"
diff --git a/tools/dev/p4vm/pre-ova-cleanup.sh b/tools/dev/p4vm/pre-ova-cleanup.sh
index d4e28fb..0718dd8 100755
--- a/tools/dev/p4vm/pre-ova-cleanup.sh
+++ b/tools/dev/p4vm/pre-ova-cleanup.sh
@@ -6,17 +6,19 @@
 sudo userdel -r -f vagrant
 
 # Free space on disk
-rm -rf ~/p4tools/protobuf
-rm -rf ~/p4tools/grpc
-rm -rf ~/p4tools/bmv2
-rm -rf ~/p4tools/p4runtime
-rm -rf ~/p4tools/p4c
-rm -rf ~/p4tools/libyang
-rm -rf ~/p4tools/sysrepo
+sudo rm -rf ~/p4tools/protobuf
+sudo rm -rf ~/p4tools/grpc
+sudo rm -rf ~/p4tools/bmv2
+sudo rm -rf ~/p4tools/PI
+sudo rm -rf ~/p4tools/p4c
+sudo rm -rf ~/p4tools/libyang
+sudo rm -rf ~/p4tools/sysrepo
+sudo rm -rf ~/p4tools/scapy-vxlan
+sudo rm -rf ~/p4tools/ptf
 
 sudo apt-get clean
 sudo apt-get -y autoremove
-sudo rm -rf /tmp/*
+sudo sudo rm -rf /tmp/*
 
 # Zerofill virtual hd to save space when exporting
 time sudo dd if=/dev/zero of=/tmp/zero bs=1M || true
diff --git a/tools/dev/p4vm/root-bootstrap.sh b/tools/dev/p4vm/root-bootstrap.sh
index f413cc6..7b28487 100755
--- a/tools/dev/p4vm/root-bootstrap.sh
+++ b/tools/dev/p4vm/root-bootstrap.sh
@@ -24,8 +24,10 @@
 apt-get install software-properties-common -y
 add-apt-repository ppa:webupd8team/java -y
 apt-get update
-echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
 
+DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
+
+echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections
 apt-get -y --no-install-recommends install \
     avahi-daemon \
     bridge-utils \
diff --git a/tools/dev/p4vm/user-bootstrap.sh b/tools/dev/p4vm/user-bootstrap.sh
index e1696a5..8e7cee3 100755
--- a/tools/dev/p4vm/user-bootstrap.sh
+++ b/tools/dev/p4vm/user-bootstrap.sh
@@ -17,13 +17,23 @@
 
 # Build and install P4 tools
 bash /vagrant/install-p4-tools.sh
+# We'll delete bmv2 sources later...
+cp ~/p4tools/bmv2/tools/veth_setup.sh ~/veth_setup.sh
+cp ~/p4tools/bmv2/tools/veth_teardown.sh ~/veth_teardown.sh
 
 # Mininet
-git clone git://github.com/mininet/mininet ~/mininet
+git clone git://github.com/mininet/mininet
 sudo ~/mininet/util/install.sh -nv
 
 # Trellis routing repo
 git clone https://github.com/opennetworkinglab/routing.git
 
+# fabric-p4test
+git clone https://github.com/opennetworkinglab/fabric-p4test.git
+
 # Set Python path for bmv2 in fabric.p4
 echo 'export PYTHONPATH=$PYTHONPATH:~/onos/tools/dev/mininet/bmv2.py' >> ~/.bashrc
+
+# FIXME: for some reason protobuf python bindings are not properly installed
+cd ~/p4tools/protobuf/python
+sudo pip install .
