-
Notifications
You must be signed in to change notification settings - Fork 82
/
.travis.yml
121 lines (107 loc) · 5.04 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# !!!WARNING!!!
# In late 2020 Travis-Ci started to highly limit free OSS CI. Therefore
# we switched to Github Actions. This file is therefore deprecated, but
# kept in case someone uses internal Travis CI.
cache:
apt: true
directories:
- dpdk-stable-16.11.11
- dpdk-18.08
- dpdk-19.11
- dpdk-20.02
- dpdk-20.08
- tcpdump-4.9.3
- netmap-11.1
language: c++
compiler:
- gcc
- clang
matrix:
exclude:
- compiler: clang
env: FRAMEWORK=libdpdk VERSION=20.08 CONFIG="--disable-batch"
- compiler: clang
env: FRAMEWORK=libdpdk VERSION=20.08 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
env:
global:
- FLAGS="--enable-ip6 --enable-json --disable-linuxmodule --enable-tunnel --enable-research"
- CXXFLAGS="-std=gnu++11"
matrix:
- FRAMEWORK=vanilla CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=umultithread CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=netmap VERSION=11.1 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=16.11.11 CONFIG="--enable-batch --enable-flow --disable-verbose-batch" STABLE=stable-
- FRAMEWORK=dpdk VERSION=18.08 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=19.11 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=dpdk VERSION=20.02 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=libdpdk VERSION=20.08 CONFIG="--enable-batch --enable-flow --disable-verbose-batch"
- FRAMEWORK=vanilla CONFIG="--disable-batch"
- FRAMEWORK=umultithread CONFIG="--disable-batch"
- FRAMEWORK=netmap VERSION=11.1 CONFIG="--disable-batch"
- FRAMEWORK=dpdk VERSION=18.08 CONFIG="--disable-batch"
- FRAMEWORK=dpdk VERSION=19.11 CONFIG="--disable-batch"
- FRAMEWORK=libdpdk VERSION=20.08 CONFIG="--disable-batch"
script:
- if [ $FRAMEWORK = "netmap" ]; then
FRAMEWORK_FLAGS="--enable-user-multithread --with-netmap=`pwd`/netmap-$VERSION/sys/";
fi
- if [ $FRAMEWORK = "dpdk" ] ; then
FRAMEWORK_FLAGS="--enable-user-multithread --enable-dpdk";
export RTE_SDK=`pwd`/dpdk-$STABLE$VERSION;
export RTE_TARGET=x86_64-default-linuxapp-gcc;
if [ ! -e "$RTE_SDK/$RTE_TARGET/include/rte_version.h" -o ! -e "$RTE_SDK/$RTE_TARGET/build/lib/librte_eal/linuxapp/eal/librte_eal.a" ]; then
wget http://fast.dpdk.org/rel/dpdk-$VERSION.tar.gz &&
tar -zxf dpdk-$VERSION.tar.gz &&
cd dpdk-$STABLE$VERSION &&
sed -i "s/CONFIG_RTE_KNI_KMOD=.*/CONFIG_RTE_KNI_KMOD=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_LIBRTE_KNI=.*/CONFIG_RTE_LIBRTE_KNI=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_EAL_IGB_UIO=.*/CONFIG_RTE_EAL_IGB_UIO=n/g" config/common_linux* &&
sed -i "s/CONFIG_RTE_LIBRTE_VIRTIO_PMD=.*/CONFIG_RTE_LIBRTE_VIRTIO_PMD=n/g" config/common_base ;
cp config/defconfig_x86_64-native-linuxapp-gcc config/defconfig_x86_64-default-linuxapp-gcc ;
sed -i "s/CONFIG_RTE_MACHINE=.*/CONFIG_RTE_MACHINE=default/g" config/defconfig_x86_64-default-linux*-gcc ;
make config T=$RTE_TARGET &&
make install T=$RTE_TARGET &&
cd ..;
fi
fi
- if [ $FRAMEWORK = "libdpdk" ] ; then
FRAMEWORK_FLAGS="--enable-user-multithread --enable-dpdk";
export PKG_CONFIG_PATH=$(pwd)/dpdk-$STABLE$VERSION/install/lib/x86_64-linux-gnu/pkgconfig/ ;
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$(pwd)/dpdk-$STABLE$VERSION/install/lib/x86_64-linux-gnu/ ;
if [ ! -e "dpdk-$STABLE$VERSION" ] || ! pkg-config --exists libdpdk ; then
wget http://fast.dpdk.org/rel/dpdk-$VERSION.tar.gz &&
tar -zxf dpdk-$VERSION.tar.gz &&
cd dpdk-$STABLE$VERSION &&
pip3 install --user meson ninja &&
meson -Dprefix=$(pwd)/install/ build &&
cd build &&
ninja &&
ninja install &&
cd .. &&
cd .. ;
fi
fi
- if [ "$CXX" = "clang++" ]; then export CXXGLAGS="$CXXFLAGS -Wno-inconsistent-missing-override"; fi
- if [ $FRAMEWORK = "umultithread" ] ; then
FRAMEWORK_FLAGS="--enable-user-multithread";
fi
- ./configure $CONFIG $FLAGS $FRAMEWORK_FLAGS && ( make || make V=1 )
- travis_retry make check
install:
- export PATH=$PATH:`pwd`/tcpdump-4.9.3/sbin/ && if [ ! -e "tcpdump-4.9.3/sbin/tcpdump" ] ; then wget http://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz && tar -zxf tcpdump-4.9.3.tar.gz && cd tcpdump-4.9.3 && ./configure --prefix=`pwd` && make && make install && cd .. ; fi
- if [ $FRAMEWORK = "netmap" -a ! -e "netmap-11.1/sys/net/netmap.h" ] ; then wget https://github.com/luigirizzo/netmap/archive/v11.1.tar.gz && tar -xvf v11.1.tar.gz ; fi
addons:
apt:
packages:
- libpcap-dev
- time
- linux-headers-generic
- libnuma-dev
- libhyperscan-dev
- python3
- python3-pip
- python3-setuptools
config:
retries: true
sudo: false
dist: bionic