ubuntu16.04安装bmv2、p4c-bmv2

  • Post author:
  • Post category:其他



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 <path to JSON file> <path to P4 file>


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


# sudo ./simple_switch -i 0@<iface0> -i 1@<iface1> <path to JSON file>


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


# ./runtime_CLI.py < commands.txt


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



版权声明:本文为sheen_zhuang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。