配好了P4环境,虚拟机让我给整崩了,又要配一次环境,难受。。。。。
主要安装五个组件及其依赖库文件:bmv2, p4c, PI, mininet, P4 tutorials(官方实例)
1. 准备:
新建P4文件并将其加入环境变量,用于存储P4的组件:
mkdir P4
cd P4
echo"P4_HOME=$(pwd)">> ~/.bashrc
source ~/.bashrc
2. 安装依赖库protocol:
#(安装protocol依赖库)
sudo apt-get install autoconf automake libtool curl make g++ unzip
git clone https://github.com/google/protobuf.git
cd protobuf
./autogen.sh
./configure
#make过程较长
make
#make check 过程更长,可省略
make check
sudo make install
#更新共享库
sudo ldconfig
cd ..
注: make和make check过程较长,可省略make check 步骤
3. 安装bmv2:
git clone https://github.com/p4lang/behavioral-model.git
cd behavioral-model
./install_deps.sh (此脚本安装bmv2依赖库)
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
cd ..
4.安装p4c
git clone --recursive https://github.com/p4lang/p4c.git
cd p4c
#安装依赖
sudo apt-get install g++ git automake libtool libgc-dev bison flex libfl-dev libgmp-dev libboost-dev libboost-iostreams-dev pkg-config python python-scapy python-ipaddr tcpdump cmake
mkdir build
cd build
cmake ..
make -j4
sudo make install
cd ../..
5. 安装PI
git clone https://github.com/p4lang/PI.git
cd PI
git submodule update --init --recursive
./autogen.sh
./configure --with-proto
make -j4
sudo make install
sudo ldconfig
cd ..
6. 安装mininet
git clone git://github.com/mininet/mininet
cd mininet
sudo ./util/install.sh -nwv
cd ..
哇赛赛~之前不知道配置过多少次环境了,总是会有各种各样的问题,这次竟然一路绿灯,顺利得不行,心情都舒畅了。
7. 下载tutorials
git clone https://github.com/p4lang/tutorials
环境安装完毕~