实验8:数据平面可编程实践——P4
一、实验目的
- 掌握V1Model框架下P4_16的程序结构和基本语法
- 能够运用 P4 进行简单数据平面编程
二、实验环境
- 下载虚拟机软件Oracle VisualBox或VMware;
- 在虚拟机中安装Ubuntu 16.04 Desktop amd64,并安装完整Mininet和P4开发环境;
- 提供P4镜像P4-Suite2018.ova,提取码:egwf
三、实验要求
学习P4官方示例教程,链接:https://github.com/p4lang/tutorials,了解P4-16版本的基本语法、基于V1Model的P4代码结构,完成如下练习:
(一)基本要求
熟悉使用P4实现交换机IPv4的基本转发原理,编写P4程序,在下面的拓扑中实现IPV4 隧道转发。
在h2中选择接收数据,h1中选择发送数据
(二)进阶要求
在熟悉隧道转发原理的前提下,编写实现P4Runtime的Python代码,将流规则下发到上图拓扑中的交换机,实现依据此规则的隧道转发。
四、实验心得
第一步make run 的时候一直出错,去网络上找了一下也没找到出错的原因,还是问了室友室友帮我把参数去掉最后才没有继续报错。修改代码的时候也总是出现问题,然后一步步重新修改才把部分错误的代码改回正确的。感觉P4代码还是非常难得,但是我会在学习的过程中慢慢把这些代码学会,慢慢很熟悉并且掌握他们。争取以后能够更加顺利的完成试验,犯更少的错误。