随笔分类 -  P4

摘要:p4runtime P4 Runtime是一套基于Protobuf以及gRPC框架上的协议,通过P4runtime,SDN控制器可以控制能够支援p4的设备。 p4runtime当前由p4 API workgroup指定,主要来自于barefoot公司。 barefoot公司,其还设计了第一款原生支持 阅读全文
posted @ 2019-03-30 17:41 水喵桑 阅读(4987) 评论(2) 推荐(0)
摘要:Package 对于package这个概念,类似于将一个框架中各组成部件以一个规律进行打包,以正常运转。 基于一个架构去编写一个新的pipeline的时候,需要先了解初始化的时候需要提供那些东西,parser,ingress或一些校验的模块。 v1model的package 从package的定义中 阅读全文
posted @ 2019-03-21 20:11 水喵桑 阅读(1761) 评论(0) 推荐(0)
摘要:Control block Control block之中用于放置设计好的Table和Action。 可以把control block认为是pipeline的一个模板,之前用的v1model中就是ingress和egress。 不同的架构中的control block格式不同。 其主要的功能就是知道 阅读全文
posted @ 2019-03-17 12:52 水喵桑 阅读(1586) 评论(0) 推荐(1)
摘要:Table table是p4的匹配——动作表,定义了匹配字段(key)、动作(action)和一些其他相关属性。 其处理数据包的流程: key key由一个个表单对组成(e:m),其中e是对应数据包中匹配的字段,而m是一个match_kind常数用来表示匹配的算法。 例如: 这个就是以ipv4头的目 阅读全文
posted @ 2019-03-02 16:33 水喵桑 阅读(4207) 评论(0) 推荐(1)
摘要:写在前面 只是作为一个入门p4的实验尝试,借用了一些即成的运行代码。 p4代码 /**p4_16,v1_model**/ 1 #include<core.p4> 2 #include<v1model.p4> 3 4 const bit<16> TYPE_IPV6 = 0x86DD;//ipv6在以太 阅读全文
posted @ 2019-02-22 15:39 水喵桑 阅读(2895) 评论(14) 推荐(3)
摘要:这里参考学习了: P4语言规范 P4台湾社群 Parser 关于parser 在P4程序中,有着大量的首部(header)和首部实例,但每次只有部分首部实例会对数据包进行操作,而parser会用于生成描述数据包进行哪些匹配动作操作的中间表示(Intermediate Representation), 阅读全文
posted @ 2019-02-15 14:04 水喵桑 阅读(3035) 评论(0) 推荐(4)
摘要:文章学习自: "P4语言编程详解" 由于原文有一点的年份,所以也继续阅读了相关的最新规范。 "P4语言规范" 基础数据类型 布尔型(bool) |运算符|描述| |: :|: :| |and|双目运算符,结果为布尔型| |or|双目运算符,结果为布尔型| |not|单目运算符,结果为布尔型| |== 阅读全文
posted @ 2019-02-11 16:26 水喵桑 阅读(3806) 评论(5) 推荐(2)
摘要:在经历了无数的折腾之后,算是折腾,最后采用的是陈翔学长的脚本加上可爱的shell调整装好的。 链接:p4Install 也许是ubuntu18.04的问题,也有可能是我自己把这个系统折腾的有点杂乱的原因,中途出现的问题一度让我抓瞎了好久。 安装p4c-bm 命令 问题 问题是出在最后一条命令,显示的 阅读全文
posted @ 2019-02-01 16:45 水喵桑 阅读(2026) 评论(8) 推荐(0)
摘要:本文参照了sdnlab上相关文章的搭建推荐。 使用的系统环境为ubuntu 18.04 组件介绍 主要安装五个组件: BMv2:是一款支持P4编程的软件交换机 p4c:是一款P4的编译器 PI:是P4 runtime的实现,用于控制平面对数据平面的控制。 mininet:这个之前用过,是一个虚拟的网 阅读全文
posted @ 2019-01-31 14:38 水喵桑 阅读(7318) 评论(17) 推荐(2)
摘要:引言 关于题目,对数据平面进行编程,在之前读过the road to SDN,软件定义网络的思想在于数控分离,其对网络行为的编程暂时只局限于网络控制平面。其转发平面在很大程度上受制于功能固定的包处理硬件。而P4语言的出现就是为了完全摆脱网络数据平面的束缚。P4被称作为完全可编程南向编程接口,其提出的 阅读全文
posted @ 2019-01-30 12:45 水喵桑 阅读(2320) 评论(1) 推荐(2)