build ovs with dpdk from mos
ovs with dpdk installation fails due to dpdk dependency change. To fix this issue, dpdk is built from mos debian. with this fix, ovs with dpdk can be installed. Another fix is expected to fix new issue after ovs with dpdk installation. Change-Id: Ia69bfbf64a820575fd5453f18ad33052a3a490af Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
This commit is contained in:
parent
c7cfa4ecec
commit
18b80bb154
|
@ -11,7 +11,7 @@ dpdk=$3
|
|||
dpdk_socket_mem=${4:-''}
|
||||
pmd_cpu_mask=${5:-'2'}
|
||||
|
||||
apt-get install -y dkms
|
||||
apt-get install -y --allow-unauthenticated dkms
|
||||
|
||||
if [ $nsh = 'true' ]
|
||||
then
|
||||
|
@ -22,9 +22,7 @@ then
|
|||
dpkg -i python-openvswitch_2.6.1-1.nsh_all.deb
|
||||
if [ $dpdk = 'true' ]
|
||||
then
|
||||
dpkg -i libxenstore3.0*.deb
|
||||
dpkg -i libdpdk0_16.07-1_amd64.deb
|
||||
dpkg -i dpdk_16.07-1_amd64.deb
|
||||
apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms
|
||||
dpkg -i openvswitch-switch-dpdk_2.6.1-1.nsh_amd64.deb
|
||||
fi
|
||||
else
|
||||
|
@ -33,21 +31,23 @@ else
|
|||
dpkg -i openvswitch-common_2.6.90-1_amd64.deb
|
||||
dpkg -i openvswitch-switch_2.6.90-1_amd64.deb
|
||||
dpkg -i python-openvswitch_2.6.90-1_all.deb
|
||||
if [[ $dpdk = 'true' && -n $dpdk_socket_mem ]]
|
||||
if [ $dpdk = 'true' ]
|
||||
then
|
||||
dpkg -i libxenstore3.0*.deb
|
||||
dpkg -i libdpdk0_16.07-1_amd64.deb
|
||||
dpkg -i dpdk_16.07-1_amd64.deb
|
||||
apt-get install -y --allow-unauthenticated dpdk dpdk-dev dpdk-dkms
|
||||
dpkg -i openvswitch-switch-dpdk_2.6.90-1_amd64.deb
|
||||
|
||||
#Set to 0, dpdk init script mount hugepages but don't change current allocation
|
||||
sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\10/" /etc/dpdk/dpdk.conf
|
||||
service dpdk start
|
||||
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="$dpdk_socket_mem"
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask="$pmd_cpu_mask"
|
||||
|
||||
service openvswitch-switch restart
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $dpdk = 'true' && -n $dpdk_socket_mem ]]
|
||||
then
|
||||
#Set to 0, dpdk init script mount hugepages but don't change current allocation
|
||||
sed -i "s/[# ]*\(NR_2M_PAGES=\).*/\10/" /etc/dpdk/dpdk.conf
|
||||
service dpdk start
|
||||
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="$dpdk_socket_mem"
|
||||
ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask="$pmd_cpu_mask"
|
||||
|
||||
service openvswitch-switch restart
|
||||
fi
|
||||
|
|
|
@ -10,15 +10,23 @@ BUILD_HOME=${BUILD_HOME:-/tmp/ovs-dpdk}
|
|||
|
||||
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
|
||||
|
||||
sudo apt-get -y install devscripts dpkg-dev git wget
|
||||
sudo apt-get -y install devscripts dpkg-dev git wget dkms
|
||||
|
||||
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
|
||||
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb
|
||||
|
||||
cd ${BUILD_HOME}
|
||||
wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
|
||||
xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
|
||||
cd dpdk-16.07
|
||||
cp -r ${BUILD_SRC}/dpdk_16.07/debian .
|
||||
cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian .
|
||||
cat << EOF > debian/changelog
|
||||
dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low
|
||||
|
||||
* Rebuild debian package
|
||||
* update librte-eal2.symbols
|
||||
|
||||
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
|
||||
EOF
|
||||
|
||||
# copy from debian/control
|
||||
sudo apt-get install -y debhelper \
|
||||
|
@ -38,8 +46,9 @@ sudo apt-get install -y debhelper \
|
|||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cd ${BUILD_HOME}
|
||||
sudo apt-get install -y hwdata
|
||||
sudo dpkg -i *.deb
|
||||
apt-get download libxenstore3.0
|
||||
mv *.deb ${BUILD_DEST}
|
||||
|
||||
# copy from debian/control
|
||||
sudo apt-get install -y autoconf \
|
||||
|
@ -80,5 +89,6 @@ debian/rules build; fakeroot debian/rules binary
|
|||
cd ${BUILD_HOME}/ovs
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cp -r ${BUILD_HOME}/*.deb ${BUILD_DEST}
|
||||
rm -rf ${BUILD_HOME}
|
||||
cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
|
||||
cd ${BUILD_HOME}/deb
|
||||
tar czvf ${BUILD_DEST}/ovs-dpdk.tar.gz .;
|
||||
|
|
|
@ -10,15 +10,23 @@ BUILD_HOME=${BUILD_HOME:-/tmp/ovs-dpdk}
|
|||
|
||||
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
|
||||
|
||||
sudo apt-get -y install devscripts dpkg-dev git wget
|
||||
sudo apt-get -y install devscripts dpkg-dev git wget dkms
|
||||
|
||||
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
|
||||
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb
|
||||
|
||||
cd ${BUILD_HOME}
|
||||
wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
|
||||
xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
|
||||
cd dpdk-16.07
|
||||
cp -r ${BUILD_SRC}/dpdk_16.07/debian .
|
||||
cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian .
|
||||
cat << EOF > debian/changelog
|
||||
dpdk (16.07-0ubuntu5~u1604+fuel10) xenial; urgency=low
|
||||
|
||||
* Rebuild debian package
|
||||
* update librte-eal2.symbols
|
||||
|
||||
-- Ruijing Guo <ruijing.guo@intel.com> $(date --rfc-2822)
|
||||
EOF
|
||||
|
||||
# copy from debian/control
|
||||
sudo apt-get install -y debhelper \
|
||||
|
@ -38,8 +46,9 @@ sudo apt-get install -y debhelper \
|
|||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cd ${BUILD_HOME}
|
||||
sudo apt-get install -y hwdata
|
||||
sudo dpkg -i *.deb
|
||||
apt-get download libxenstore3.0
|
||||
mv *.deb ${BUILD_DEST}
|
||||
|
||||
# copy from debian/control
|
||||
sudo apt-get install -y autoconf \
|
||||
|
@ -92,5 +101,6 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
|
|||
EOF
|
||||
debian/rules build; fakeroot debian/rules binary
|
||||
|
||||
cp -r ${BUILD_HOME}/*.deb ${BUILD_DEST}
|
||||
rm -rf ${BUILD_HOME}
|
||||
cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
|
||||
cd ${BUILD_HOME}/deb
|
||||
tar czvf ${BUILD_DEST}/ovs-nsh-dpdk.tar.gz .;
|
||||
|
|
|
@ -62,7 +62,6 @@ librte_eal.so.2 librte-eal2 #MINVER#
|
|||
rte_eal_primary_proc_alive@DPDK_16.04 16.04
|
||||
rte_eal_process_type@DPDK_2.0 16.04
|
||||
rte_eal_remote_launch@DPDK_2.0 16.04
|
||||
rte_eal_set_socket_permissions@DPDK_2.2 16.04
|
||||
rte_eal_tailq_lookup@DPDK_2.0 16.04
|
||||
rte_eal_tailq_register@DPDK_2.0 16.04
|
||||
rte_eal_vdev_init@DPDK_2.0 16.04
|
||||
|
|
|
@ -16,14 +16,12 @@ function build_pkg {
|
|||
DEB_DIR=${DIR}/deb-ovs-dpdk
|
||||
rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
|
||||
sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh
|
||||
cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .;
|
||||
cd ..; rm -rf ${DEB_DIR}
|
||||
cp -r ${DEB_DIR}/* ${DIR}/repositories/ubuntu/
|
||||
|
||||
DEB_DIR=${DIR}/deb-ovs-nsh-dpdk
|
||||
rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
|
||||
sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh
|
||||
cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .;
|
||||
cd ..; rm -rf ${DEB_DIR}
|
||||
cp -r ${DEB_DIR}/* ${DIR}/repositories/ubuntu/
|
||||
rm -rf ${DEB_DIR}
|
||||
|
||||
;;
|
||||
*) echo "Not supported system"; exit 1;;
|
||||
|
|
Loading…
Reference in New Issue