Update to DPDK 16.04 + OVS 2.5.90
Change-Id: I6efd1fd3efb6f0c80313a7a1d9d8ac87486802f9 Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
This commit is contained in:
parent
133eadeac3
commit
537bee446f
|
@ -13,28 +13,28 @@ dpdk=$3
|
|||
if [ $nsh = 'true' ]
|
||||
then
|
||||
wget -r -np -nH --cut-dirs=3 http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs-nsh/
|
||||
dpkg -i openvswitch-datapath-dkms_2.5.90-1.nsh_all.deb
|
||||
dpkg -i openvswitch-common_2.5.90-1.nsh_amd64.deb
|
||||
dpkg -i openvswitch-switch_2.5.90-1.nsh_amd64.deb
|
||||
dpkg -i python-openvswitch_2.5.90-1.nsh_all.deb
|
||||
if [ $dpdk = 'true' ]
|
||||
then
|
||||
dpkg -i libxenstore3.0*.deb
|
||||
dpkg -i libdpdk0_16.04-1_amd64.deb
|
||||
dpkg -i dpdk_16.04-1_amd64.deb
|
||||
dpkg -i openvswitch-switch-dpdk_2.5.90-1.nsh_amd64.deb
|
||||
fi
|
||||
else
|
||||
wget -r -np -nH --cut-dirs=3 http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs-dpdk/
|
||||
dpkg -i openvswitch-datapath-dkms_2.5.90-1_all.deb
|
||||
dpkg -i openvswitch-common_2.5.90-1_amd64.deb
|
||||
dpkg -i openvswitch-switch_2.5.90-1_amd64.deb
|
||||
dpkg -i python-openvswitch_2.5.90-1_all.deb
|
||||
if [ $dpdk = 'true' ]
|
||||
then
|
||||
dpkg -i libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb
|
||||
dpkg -i libdpdk0_2.2.0-1_amd64.deb
|
||||
dpkg -i dpdk_2.2.0-1_amd64.deb
|
||||
dpkg -i libxenstore3.0*.deb
|
||||
dpkg -i libdpdk0_16.04-1_amd64.deb
|
||||
dpkg -i dpdk_16.04-1_amd64.deb
|
||||
dpkg -i openvswitch-switch-dpdk_2.5.90-1_amd64.deb
|
||||
fi
|
||||
else
|
||||
wget -r -np -nH --cut-dirs=3 http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs-dpdk/
|
||||
dpkg -i openvswitch-datapath-dkms_2.5.1-1_all.deb
|
||||
dpkg -i openvswitch-common_2.5.1-1_amd64.deb
|
||||
dpkg -i openvswitch-switch_2.5.1-1_amd64.deb
|
||||
dpkg -i python-openvswitch_2.5.1-1_all.deb
|
||||
if [ $dpdk = 'true' ]
|
||||
then
|
||||
dpkg -i libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb
|
||||
dpkg -i libdpdk0_2.2.0-1_amd64.deb
|
||||
dpkg -i dpdk_2.2.0-1_amd64.deb
|
||||
dpkg -i openvswitch-switch-dpdk_2.5.1-1_amd64.deb
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
OVS_COMMIT=cd4764fdd8ce0aa0063525dad0e67f20b3bcf6e9
|
||||
set -eux
|
||||
|
||||
OVS_COMMIT=7d8eadce4df70f563a0c0123c612f6117c8ff864
|
||||
URL_OVS=https://github.com/openvswitch/ovs.git
|
||||
OVS_VER=${OVS_VER:-2.5.1}
|
||||
OVS_VER=${OVS_VER:-2.5.90}
|
||||
BUILD_HOME=$HOME/dpdk
|
||||
BUILD_DEST=${BUILD_DEST:-/deb}
|
||||
|
||||
|
@ -12,12 +14,14 @@ sudo apt-get build-dep openvswitch -y
|
|||
sudo apt-get -y install devscripts dpkg-dev git wget
|
||||
|
||||
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
|
||||
cp `dirname $0`/rules ${BUILD_HOME}
|
||||
|
||||
cd ${BUILD_HOME}
|
||||
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
|
||||
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0.orig.tar.gz
|
||||
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.debian.tar.xz
|
||||
dpkg-source -x dpdk_2.2.0-0ubuntu8.dsc
|
||||
wget -c http://fast.dpdk.org/rel/dpdk-16.04.tar.xz
|
||||
|
||||
# copy from debian/control
|
||||
sudo apt-get install -y debhelper \
|
||||
|
@ -35,12 +39,15 @@ sudo apt-get install -y debhelper \
|
|||
texlive-fonts-recommended \
|
||||
texlive-latex-extra
|
||||
|
||||
cd dpdk-2.2.0; rm -rf debian/patches/;
|
||||
cd dpdk-2.2.0; rm -rf debian/patches/; uupdate -v 16.04 ../dpdk-16.04.tar.xz
|
||||
cd ${BUILD_HOME}/dpdk-16.04
|
||||
cat << EOF > debian/changelog
|
||||
dpdk (2.2.0-1) unstable; urgency=low
|
||||
[ DPDK team]
|
||||
* New upstream version
|
||||
dpdk (16.04-1) unstable; urgency=low
|
||||
* DPDK 16.04
|
||||
-- DPDK team <dev@dpdk.org>
|
||||
EOF
|
||||
mv debian/rules debian/rules.orig
|
||||
cp ${BUILD_HOME}/rules debian/rules
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
cd ${BUILD_HOME}; sudo dpkg -i *.deb
|
||||
apt-get download libxenstore3.0
|
||||
|
@ -77,14 +84,13 @@ cd ${BUILD_HOME}; tar czvf ovs.tar.gz ovs
|
|||
rm -rf openvswitch-dpdk-${OVS_VER}*
|
||||
cd openvswitch-dpdk-2.4.0; uupdate -v ${OVS_VER} ../ovs.tar.gz
|
||||
cd ../openvswitch-dpdk-${OVS_VER}
|
||||
sed -i "s/include\/rte_config.h/include\/dpdk\/rte_config.h/" acinclude.m4
|
||||
sed -i 's/DPDK_INCLUDE=.*/DPDK_INCLUDE=$RTE_SDK\/include\/dpdk/' acinclude.m4
|
||||
#sed -i 's~DPDK_LIB_DIR=.*~DPDK_LIB_DIR="$with_dpdk/x86_64-linux-gnu/lib"~' acinclude.m4
|
||||
autoreconf --install
|
||||
rm -rf debian/patches/ .git;
|
||||
cat << EOF > debian/changelog
|
||||
openvswitch-dpdk (${OVS_VER}-1) unstable; urgency=low
|
||||
[ Open vSwitch team ]
|
||||
* Open vSwitch Upstream
|
||||
* New upstream version
|
||||
-- Open vSwitch team <dev@openvswitch.org>
|
||||
EOF
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
|
|
|
@ -38,8 +38,8 @@ sudo apt-get install -y debhelper \
|
|||
cd dpdk-2.2.0; rm -rf debian/patches/;
|
||||
cat << EOF > debian/changelog
|
||||
dpdk (2.2.0-1) unstable; urgency=low
|
||||
[ DPDK team]
|
||||
* New upstream version
|
||||
* DPDK 2.2.0
|
||||
-- DPDK team <dev@dpdk.org>
|
||||
EOF
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
cd ${BUILD_HOME}; sudo dpkg -i *.deb
|
||||
|
@ -88,13 +88,17 @@ sed -i 's/DPDK_INCLUDE=.*/DPDK_INCLUDE=$RTE_SDK\/include\/dpdk/' acinclude.m4
|
|||
autoreconf --install
|
||||
rm -rf debian/patches/ .git;
|
||||
cat << EOF > debian/changelog
|
||||
openvswitch-dpdk (${OVS_VER}-1) unstable; urgency=low
|
||||
[ Open vSwitch team ]
|
||||
* Support NSH
|
||||
openvswitch-dpdk (${OVS_VER}-1.nsh) unstable; urgency=low
|
||||
* Support NSH
|
||||
-- Open vSwitch team <dev@openvswitch.org>
|
||||
EOF
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cd ${BUILD_HOME}/ovs
|
||||
cat << EOF > debian/changelog
|
||||
openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
|
||||
* Support NSH
|
||||
-- Open vSwitch team <dev@openvswitch.org>
|
||||
EOF
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cp ${BUILD_HOME}/*.deb ${BUILD_DEST}
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
#!/usr/bin/make -f
|
||||
# See debhelper(7) (uncomment to enable)
|
||||
# output every command that modifies files on the build system.
|
||||
#export DH_VERBOSE = 1
|
||||
|
||||
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
|
||||
DPKG_EXPORT_BUILDFLAGS = 1
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
DEB_HOST_GNU_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
|
||||
|
||||
# see FEATURE AREAS in dpkg-buildflags(1)
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
|
||||
# build with debug symbols, dh_strip will create -dgbsyms packages by that
|
||||
export EXTRA_CFLAGS = -g
|
||||
|
||||
# see ENVIRONMENT in dpkg-buildflags(1)
|
||||
# package maintainers to append CFLAGS
|
||||
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
|
||||
# package maintainers to append LDFLAGS
|
||||
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
||||
|
||||
DPDK_CONFIG = "$(DEB_HOST_GNU_CPU)-native-linuxapp-gcc"
|
||||
DPDK_STATIC_DIR = "debian/build/static-root"
|
||||
DPDK_SHARED_DIR = "debian/build/shared-root"
|
||||
|
||||
clean:
|
||||
dh_testdir
|
||||
rm -rf debian/build debian/tmp
|
||||
dh_clean
|
||||
|
||||
build-config:
|
||||
dh_testdir
|
||||
$(MAKE) O=$(DPDK_STATIC_DIR) T=$(DPDK_CONFIG) config
|
||||
|
||||
build-indep: build-config
|
||||
dh_testdir
|
||||
$(MAKE) O=$(DPDK_STATIC_DIR) doc-api-html doc-guides-html
|
||||
|
||||
build-arch: build-config
|
||||
dh_testdir
|
||||
$(MAKE) O=$(DPDK_STATIC_DIR) build
|
||||
# Unfortunately the decision about having static or shared libraries is
|
||||
# made for the whole build, which then produces only .a or .so files
|
||||
# (but not both).
|
||||
# And the target layout for target selection has no field for the
|
||||
# type of library.
|
||||
# Right now I hack this by doing a second build which only differs in
|
||||
# the selection of shared libs.
|
||||
# Shared libs should be default, so the previous static build is only
|
||||
# used to get static libraries.
|
||||
cp -a $(DPDK_STATIC_DIR) $(DPDK_SHARED_DIR)
|
||||
sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' \
|
||||
$(DPDK_SHARED_DIR)/.config
|
||||
$(MAKE) O=$(DPDK_SHARED_DIR) build
|
||||
|
||||
build: build-arch build-indep
|
||||
|
||||
binary-indep: PACKAGE_NAME=dpdk-doc
|
||||
binary-indep: DOCDIR=usr/share/doc/dpdk
|
||||
binary-indep: export DH_OPTIONS=--indep
|
||||
binary-indep:
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_testdir
|
||||
dh_installdirs
|
||||
dh_install
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_lintian
|
||||
# Package: dpdk-doc
|
||||
# All files based on the install-doc rule (includes examples)
|
||||
$(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
|
||||
DESTDIR=debian/dpdk-doc install-doc
|
||||
dh_link
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary-arch: LIBDIR=usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||
binary-arch: export DH_OPTIONS=--arch
|
||||
binary-arch:
|
||||
dh_testroot
|
||||
dh_prep
|
||||
dh_testdir
|
||||
dh_installdirs
|
||||
dh_install
|
||||
dh_installdocs
|
||||
dh_installchangelogs
|
||||
dh_lintian
|
||||
dh_systemd_enable
|
||||
dh_installinit --no-start --no-restart-on-upgrade
|
||||
dh_systemd_start --no-start --no-restart-on-upgrade
|
||||
# Package: dpdk (runtime)
|
||||
$(MAKE) O=$(DPDK_STATIC_DIR) prefix=/usr \
|
||||
DESTDIR=debian/dpdk install-runtime
|
||||
$(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
|
||||
DESTDIR=debian/dpdk install-runtime
|
||||
cp debian/dpdk.interfaces debian/dpdk/etc/dpdk/interfaces
|
||||
rm debian/dpdk/usr/sbin/dpdk_nic_bind
|
||||
ln -s /usr/share/dpdk/tools/dpdk_nic_bind.py \
|
||||
debian/dpdk/sbin/dpdk_nic_bind
|
||||
# Package: libdpdk0 (bare runtime libs)
|
||||
mkdir -p debian/libdpdk0/$(LIBDIR)
|
||||
# NOTE so far upstream dpdk has not settled on really versioning the
|
||||
# combined lib. There are discussions ongoing and various alternative
|
||||
# approaches.
|
||||
# We have to wait until that is clarified upstream (in a follow on dpdk
|
||||
# version).
|
||||
# One likely solution will make us ship the non combined .so and a
|
||||
# linker script which replaces the combined lib.
|
||||
# To easen package management a few notes how this will change if that
|
||||
# happens:
|
||||
# NOTE: linker script - this becomes a nop (linker skript has no sover
|
||||
# on its own)
|
||||
rm debian/dpdk/usr/lib/libdpdk.so
|
||||
cp -a $(DPDK_SHARED_DIR)/lib/* debian/libdpdk0/$(LIBDIR)/
|
||||
# NOTE: linker script - insert basenames loop for all .so's
|
||||
# NOTE: linker script - we also will need multiple symbol files then
|
||||
# Package: dpdk-dev (build environment)
|
||||
$(MAKE) O=$(DPDK_SHARED_DIR) prefix=/usr \
|
||||
DESTDIR=debian/dpdk-dev install-sdk
|
||||
cp $(DPDK_SHARED_DIR)/.config debian/dpdk-dev/usr/share/dpdk/config
|
||||
# Package: libdpdk-dev (bare headers and static devel libs)
|
||||
mkdir -p debian/libdpdk-dev/usr/lib/
|
||||
# NOTE: linker script - insert basenames loop for all .a's
|
||||
#ln -s /$(LIBDIR)/libdpdk.so \
|
||||
# debian/libdpdk-dev/$(LIBDIR)/libdpdk.so.0
|
||||
cp -a $(DPDK_STATIC_DIR)/lib/* debian/libdpdk-dev/usr/lib/
|
||||
mv debian/dpdk-dev/usr/include/dpdk debian/libdpdk-dev/usr/include/
|
||||
# NOTE: linker script - package instead of removing all sublibs
|
||||
rm -rf debian/dpdk/usr/lib*
|
||||
dh_python2
|
||||
dh_perl
|
||||
dh_link
|
||||
dh_compress
|
||||
dh_fixperms
|
||||
dh_strip
|
||||
dh_makeshlibs
|
||||
dh_shlibdeps
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-arch binary-indep
|
|
@ -11,7 +11,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||
|
||||
config.vm.define "fuel" do | h |
|
||||
h.vm.host_name = "fuel"
|
||||
h.vm.provision :shell, :inline => "/vagrant/build_fuel_plugin.sh"
|
||||
h.vm.provision :shell, :inline => "/vagrant/build_fuel_plugin.sh", privileged: false
|
||||
h.vm.synced_folder "..", "/fuel-plugin"
|
||||
h.vm.provider :virtualbox do |v|
|
||||
v.customize ["modifyvm", :id, "--memory", 4096]
|
||||
|
|
Loading…
Reference in New Issue