summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--build-root/deb/debian/control2
-rwxr-xr-xbuild-root/deb/debian/rules2
-rw-r--r--build-root/deb/debian/vpp.service14
-rw-r--r--build-root/vagrant/bootstrap.ubuntu1604.sh39
5 files changed, 56 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 6865283647f..fd1d0ff9d4d 100644
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ MINIMAL_STARTUP_CONF="unix { interactive }"
GDB_ARGS= -ex "handle SIGUSR1 noprint nostop"
DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache
-DEB_DEPENDS += debhelper dkms default-jdk git libtool libganglia1-dev libapr1-dev
+DEB_DEPENDS += debhelper dkms default-jdk git libtool libganglia1-dev libapr1-dev dh-systemd
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope
RPM_DEPENDS_GROUPS = 'Development Tools'
diff --git a/build-root/deb/debian/control b/build-root/deb/debian/control
index cf22fd021bb..97464e42680 100644
--- a/build-root/deb/debian/control
+++ b/build-root/deb/debian/control
@@ -2,7 +2,7 @@ Source: vpp
Section: net
Priority: extra
Maintainer: Cisco OpenVPP Packaging Team <bogus.address@cisco.com>
-Build-Depends: debhelper (>= 9), dkms
+Build-Depends: debhelper (>= 9), dkms, dh-systemd
Standards-Version: 3.9.4
Package: vpp
diff --git a/build-root/deb/debian/rules b/build-root/deb/debian/rules
index bcee0121ff6..b5afbdb62fb 100755
--- a/build-root/deb/debian/rules
+++ b/build-root/deb/debian/rules
@@ -18,7 +18,7 @@ include /usr/share/dpkg/default.mk
# main packaging script based on dh7 syntax
%:
- dh $@ --with dkms
+ dh $@ --with dkms --with systemd
override_dh_install:
dh_install --exclude .git
diff --git a/build-root/deb/debian/vpp.service b/build-root/deb/debian/vpp.service
new file mode 100644
index 00000000000..a2849296cdc
--- /dev/null
+++ b/build-root/deb/debian/vpp.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=vector packet processing engine
+After=network.target
+
+[Service]
+Type=simple
+ExecStartPre=-/bin/rm -f /dev/shm/*
+ExecStartPre=-/sbin/modprobe igb_uio
+ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf
+ExecStopPost=/bin/rm -f /dev/shm/*
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/build-root/vagrant/bootstrap.ubuntu1604.sh b/build-root/vagrant/bootstrap.ubuntu1604.sh
new file mode 100644
index 00000000000..2e607f1e847
--- /dev/null
+++ b/build-root/vagrant/bootstrap.ubuntu1604.sh
@@ -0,0 +1,39 @@
+# Fix grub-pc on Virtualbox with Ubuntu
+export DEBIAN_FRONTEND=noninteractive
+
+# Standard update + upgrade dance
+apt-get update
+apt-get upgrade -y
+
+# Fix the silly notion that /bin/sh should point to dash by pointing it to bash
+
+sudo update-alternatives --install /bin/sh sh /bin/bash 100
+
+cd /vpp
+sudo -H -u vagrant make install-dep
+
+# Install useful but non-mandatory tools
+apt-get install -y emacs git-review gdb gdbserver
+
+sudo -H -u vagrant make bootstrap
+sudo -H -u vagrant make pkg-deb
+(cd build-root/;dpkg -i *.deb)
+
+# Capture all the interface IPs, in case we need them later
+ifconfig -a > ~vagrant/ifconfiga
+chown vagrant:vagrant ~vagrant/ifconfiga
+
+# Disable all ethernet interfaces other than the default route
+# interface so VPP will use those interfaces. The VPP auto-blacklist
+# algorithm prevents the use of any physical interface contained in the
+# routing table (i.e. "route --inet --inet6") preventing the theft of
+# the management ethernet interface by VPP from the kernel.
+for intf in $(ls /sys/class/net) ; do
+ if [ -d /sys/class/net/$intf/device ] &&
+ [ "$(route --inet --inet6 | grep default | grep $intf)" == "" ] ; then
+ ifconfig $intf down
+ fi
+done
+
+systemctl start vpp
+cat /vagrant/README