实验:用mininet搭建P4数据平面

BEHAVIORAL MODEL REPOSITORY

        这是第二个版本的P4软件交换机,也叫bmv2。与之前的版本p4c-behavioral不同,这个新版本是静态的(例如:每次对程序修改后重新编译),用C++11实现的。

启动/behavioral-model/mininet下的1sw_demon.py脚本,创建了一个有一个交换机和两个主机的实验拓扑。P4交换机是simple_router。

        实验:用mininet搭建P4数据平面_第1张图片

首先查看交换机上有些哪些match-action table,如图可以看出这个target上有forward,ipv4_lpm,send_frame这3张表,分别用table_dump查看,可以看到这几张表都是空的:

实验:用mininet搭建P4数据平面_第2张图片

在另一个终端,进入target/simple_router, 查看文件command.txt,这个文件是一些手动添加rules的命令:

实验:用mininet搭建P4数据平面_第3张图片

把这些流表项写入simple_router的match-action table中:

实验:用mininet搭建P4数据平面_第4张图片

在mininet中查看网络的链路状态:

实验:用mininet搭建P4数据平面_第5张图片

删除ipv4_lpm的一条表项:

                           实验:用mininet搭建P4数据平面_第6张图片

测试网络的链路状况,可以看到h1和h2之间不可达:

                                   实验:用mininet搭建P4数据平面_第7张图片


你可能感兴趣的:(P4,SDN)