ubuntu16.04安装bmv2、p4c-bmv2

1. clone项目工程

在home目录下新建p4lang文件夹

$ mkdir ~/p4lang

$ cd ~/p4lang/

安装git,下载bmv2、p4c-bmv2到p4lang文件夹下

$ sudo apt install git

$ git clone https://github.com/p4lang/behavioral-model.git bmv2

$ git clone https://github.com/p4lang/p4c-bm.git p4c-bmv2

2. 安装bmv2

进入bmv2目录 

$ cd ~/p4lang/bmv2

安装依赖 

$ ./install_deps.sh

编译bmv2

$ ./autogen.sh

$ ./configure

$ make

安装bmv2

$ sudo make install

更新共享库

$ sudo ldconfig

单元测试,如果出错用sudo

$ make check

3. 安装p4c-bmv2

$ cd ~/p4lang/p4c-bmv2

$ sudo pip install -r requirements.txt

$ sudo python setup.py install

测试是否安装成功

$ p4c-bmv2 -h

4. 运行

$ cd ~/p4lang/bmv2/tools

root权限下,创建虚拟网络端口

# ./veth_setup.sh

编写p4源码,在p4源码文件目录下,生成对应json文件

# p4c-bmv2 --json

json文件放到simple_switch目录下,root权限下,运行simple_switch,并加载json文件

# sudo ./simple_switch -i 0@ -i 1@

写好CLI命令文件commands.txt,root权限下,加载CLI命令

# ./runtime_CLI.py < commands.txt

用scapy发包、wireshark收包进行测试

你可能感兴趣的:(ubuntu16.04安装bmv2、p4c-bmv2)