Ubuntu P4编程环境搭建
前言 最近由于科研的需要,搭建SDN的P4编程环境,但是这个过程比较麻烦。网上相关的资源较老,P4的库依赖众多,出现了很多库版本不对导致的错误。最后以GitHub上P4项目 教程的实验环境的配置文档 和一些相关的文档为参考而搭建成功。 下面对整个搭建环境过程进行一下总结。 系统环境 Ubuntu 16.04 Python 2.7 内存 4G+ 内核 4.15 系统内核版本一定要更新到4.15及以上的版本,不然在安装P4C的过程中会出现error。同时内存太小的情况下,执行脚本过程中系统容易崩溃。 环境组件 P4编程环境主要需要5个组件。 p4c是最新的p4编译器。 Bmv2是支持P4编程的软件交换机。 PI是P4 runtime的实现,用于Control Plane对数据平面的控制。 Mininet的功能是构建一个虚拟的网络拓扑。 它通过linux内核的一些特性(net命名空间),在一个主机上划分出多个虚拟网络空间,各个网络空间之间相互隔离,有自己的端口, ip等等。 p4 tutorials 提供了用于学习的实例代码,它提供了很多个带有方向性的实际场景,例如负载均衡,简单的隧道机制,源路由等。 搭建过程 1.安装依赖 sudo apt - get update sudo apt - get upgrade sudo apt - get install automake cmake