SDN第八次试验

实验8:数据平面可编程实践——P4

一、实验目的

  1. 掌握V1Model框架下P4_16的程序结构和基本语法
  2. 能够运用 P4 进行简单数据平面编程

二、实验环境

  1. 下载虚拟机软件Oracle VisualBox或VMware;
  2. 在虚拟机中安装Ubuntu 16.04 Desktop amd64,并安装完整Mininet和P4开发环境;
  3. 提供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代码还是非常难得,但是我会在学习的过程中慢慢把这些代码学会,慢慢很熟悉并且掌握他们。争取以后能够更加顺利的完成试验,犯更少的错误。

posted @ 2021-11-02 12:23  代码真难写。。  阅读(55)  评论(0编辑  收藏  举报