随笔分类 -  P4

摘要:NSP4——Network Simulator for P4 一、前言 NSP4旨在为P4开发者,创建一个可视化的P4流表管理及拓扑建立工具,帮助P4开发者,更好的调试自己的P4程序。此开发工具是基于开源控制器Ryu中的开源应用 " gui_topology " 所改编的应用,并编写了可视化web界 阅读全文
posted @ 2017-05-31 12:55 考拉小无 阅读(1222) 评论(4) 推荐(1)
摘要:p4 parser 引言介绍 p4 parser 可以看做是一个状态机。 这个可以被称作是一个解析图,解析图的每一个节点可以看成一个状态,状态间的转换可以看成是边。 下列展示了一个非常简单的例子关于mTag解析包的解析器内容的部分解析函数。 该图为为上述代码的状态图表示 上面这个示例代码,可以看到每 阅读全文
posted @ 2016-10-12 18:13 考拉小无 阅读(1180) 评论(0) 推荐(1)
摘要:当 时候会发生这个 这个时候记得要先在 p4factory目录下先执行一下这个 再去执行 就没有问题了 阅读全文
posted @ 2016-10-06 20:14 考拉小无 阅读(222) 评论(0) 推荐(0)
摘要:p4factory/targets/basic_routing/p4src代码解读 headers.p4 定义了一个以太网包头,以及一个IPV4包头 parser.p4 解释可以看这张图 报文进来后,直接到了parse_ethernet解析器,然后提取ethernet实例的etherType判断是否 阅读全文
posted @ 2016-10-05 23:23 考拉小无 阅读(343) 评论(0) 推荐(0)
摘要:P4基础数据类型及操作 以及 数据类型转换 本来来自 一、基础数据类型及操作 P4语言中定义了5种基础数据类型,分别是:bool、bit、int(W)、varbit、int。 此处W代表长度,通常使用十进制数字表示,如bit 通常情况下,不同的数据类型之间可以相互转换,并且所有的二目运算符都要求数据 阅读全文
posted @ 2016-10-04 01:30 考拉小无 阅读(973) 评论(0) 推荐(0)
摘要:P4语言状态存储的东西 本文来自 包头和元数据实例中的数据只能存在对某个数据包解析的过程中,解析下一个数据包的时候,这些实例都会重新初始化。而计数器、计量器和寄存器中的数据在整个流水线中长期存在,所以称之为状态存储。 计数器 计数器附加在每个表项之后,并在完成一次匹配并执行对应的操作后自增一。计数器 阅读全文
posted @ 2016-10-04 00:47 考拉小无 阅读(1514) 评论(0) 推荐(0)
摘要:P4语言的基础语言组件 本文主要引自 一、基础语言组件 首部(Headers) 首部类型是由成员字段组成的列表,每个字段都有对应的名称和长度,每一种首部类型都有对应的首部实例来存储具体数据,有点类似C语言的结构体。 首部分为两种包头、元数据 包头 包头可以用来描述数据包的结构,以IPV4为例子 用P 阅读全文
posted @ 2016-10-03 17:23 考拉小无 阅读(1804) 评论(0) 推荐(0)
摘要:P4安装篇 ubuntu 14.04为例子 一、首先要fork到自己的github里面 源码目录 然后 到自己的github里面 接着 二、模块更新 更新p4factory的模块 大部分错误是出现在这里,会经常出现什么错误,很大一部分原因是因为网络不好,因为是外国网站下的,建议用一下VPN(本人是用 阅读全文
posted @ 2016-10-02 23:33 考拉小无 阅读(921) 评论(0) 推荐(0)