写在最前

P4开发环境安装可采用陈翔同学一键安装脚本p4Installer
p4c-bm是P4-14的编译器,p4c是现在主流P4-16的编译器,bmv2是支持P4运行的软件交换机

系统环境

在安装前,已经预先安装好了java和mininet
Ubuntu 16.04 一键安装P4开发环境记录

p4c-bm安装:

第一次运行卡住了,网络问题,ctrl c重来一遍
Ubuntu 16.04 一键安装P4开发环境记录

ok
Ubuntu 16.04 一键安装P4开发环境记录

bmv2安装

Ubuntu 16.04 一键安装P4开发环境记录
Ubuntu 16.04 一键安装P4开发环境记录
根据后面的提示:ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
应该是超时的问题,继续ctrl c重来一遍

ok
Ubuntu 16.04 一键安装P4开发环境记录

p4c安装

前面要安装一系列依赖
protobuf安装很慢
Ubuntu 16.04 一键安装P4开发环境记录
boost也很慢
Ubuntu 16.04 一键安装P4开发环境记录
最后失败了
Ubuntu 16.04 一键安装P4开发环境记录

第二天继续
重新安装的时候遇到这个提示
Ubuntu 16.04 一键安装P4开发环境记录

Ubuntu 16.04 一键安装P4开发环境记录

修改后重新跑脚本
Ubuntu 16.04 一键安装P4开发环境记录
报了一些错
Ubuntu 16.04 一键安装P4开发环境记录
Ubuntu 16.04 一键安装P4开发环境记录
Ubuntu 16.04 一键安装P4开发环境记录

以上算是安装结束了。跑一个官方的教程来试试
在p4的github上将tutorials的内容git到本地,根据提示make运行,竟然报错了
Ubuntu 16.04 一键安装P4开发环境记录

后来建议git 其他分支,老版本使用sh脚本直接运行,而不用make。
我曾经下载过官网的p4开发环境的虚拟机镜像,果然最新的就是为官方准备的,自己装的并不是很友好。
下载重新试运行,还是报错了。。。。。。
Ubuntu 16.04 一键安装P4开发环境记录

原来是代码太久了,编译器已经更新换代了,看来还要改代码
in改为inout
Ubuntu 16.04 一键安装P4开发环境记录

mark_to_drop();改成mark_to_drop(standard_metadata);
Ubuntu 16.04 一键安装P4开发环境记录

ok了
Ubuntu 16.04 一键安装P4开发环境记录

相关文章:

  • 2021-06-21
  • 2021-08-25
  • 2021-11-14
  • 2022-12-23
  • 2021-07-21
  • 2022-02-25
  • 2022-02-08
  • 2022-02-08
猜你喜欢
  • 2021-05-02
  • 2021-07-20
  • 2021-11-30
  • 2021-12-12
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案