主要步骤分为5步,本篇文章用于记录安装过程
- 下载VM并安装
- 查看下载脚本所需的系统配置要求
- 下载Ubuntu系统,根据系统配置要求配置虚拟机
- 在Ubuntu虚拟机中运行安装脚本
- 使用一个简单的P4例子进行测试
一.下载VM并安装
参考:https://zhuanlan.zhihu.com/p/369619334
二.查看下载脚本所需的系统配置要求
P4-guide地址:https://github.com/jafingerhut/p4-guide/blob/master/bin/README-install-troubleshooting.md
查看所需的系统配置要求
文档中Quick instructions for successful install script run这一部分
三.下载Ubuntu系统,根据系统配置要求配置虚拟机
根据P4的系统配置要求进行Ubuntu安装
参考文章:https://blog.csdn.net/qq_43374681/article/details/129248167
四.在Ubuntu虚拟机中运行安装脚本
以我的例子为例,我要安装的脚本为p4dev-v5.sh,配置要求为Ubuntu 20.04系统,内存最好为4GB,存储要大于25GB
在虚拟机中打开终端,运行安装脚本
$ sudo apt install git # For Ubuntu
$ git clone https://github.com/jafingerhut/p4-guide
$ ./p4-guide/bin/install-p4dev-v6.sh |& tee log.txt
五.使用一个简单的P4例子进行测试
安装完成后,使用一个基础例子进行测试
使用官方的tutorial教程的代码测试ping通
打开终端,输入
$ git clone https://github.com/p4lang/tutorials
$ cd tutorials/exercises/basic
$ cp solution/basic.p4 basic.p4
$ make run
这个例子是在p4lang/tutorials存储库的basic解决方案中发送ping数据包
输入后显示如图:
如果在许多行的日志输出的末尾看到提示符 mininet> ,你可以尝试输入命令 h1 ping h2
,从练习中的虚拟主机 h1 对 h2 进行 ping 测试,它会每秒报告一次成功的 ping。不会自行停止。
你可以输入 Control-C
来停止它并返回到 mininet> 提示符,你也可以输入 Control-D
来退出 mininet 并返回到原始的 shell 提示符。
你可以使用以下命令将修改后的 basic.p4 程序恢复到其原始内容:
$ git checkout basic.p4
此测试使用了 p4c 进行 v1model 架构的测试,simple_switch_grpc,并在 simple_switch_grpc 中使用了 P4Runtime API 实现的部分,用于添加表项。