网站大量收购独家精品文档,联系QQ:2885784924

数据平面的可编程时代-FAST.PDF

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据平面的可编程时代-FAST

数据平面的可编程时代 P语言基础与实战 江苏省未来网络创新研究院 杨帅 P4语言基础及实战 提纲 P4项目背景 P4语言基础 P4实战演练 P4语言基础及实战 P4项目发展历 P4语言基础及实战 网络交换芯片技术 ▸ ASIC 专用集成电路,面向特定需求。体积小,性能强,成本低,功能固化,不支持数据平面编程。代表:SDN白盒交换机。 ▸ CPU 通用集成电路,功能灵活,性能受CPU限制,效率低,支持数据平面编程。代表:OpenvSwitch。 ▸ NP 网络处理器,功能灵活,性能较高,成本高,功耗高,支持数据平面编程。代表:华为S12700系列。 ▸ FPGA 现场可编程门阵列功能灵活,数据转发性能低,支持数据平面编程。代表:NetFPGA。 ▸ PISA 协议无关交换机架构,功能灵活,性能强,支持数据平面编程。代表:Tofino。 P4语言基础及实战 国外P4产品 Xilinx、Cornel推出支持P4的FPGA Princeton、VMWare等合作推出支持P4的vSwitch Netronome推出的Agilio网卡及P4C-SDK Barefoot推出6.4T可编程Tofino芯片及配套开发工具 P4项目社区成员 提纲 P4语言基础 P4语言基础及实战 P4是什么? ▸ P4是开源编程语言项目 P4语言是一个数据平面的编程语言,想让大家像用C语言对CPU编程一样对目标设备编程。 ▸ 目标设备 一切可编程的网络设备,目前包括可编程网络芯片,网卡,FPGA,NPU,vSwitch 。 ▸ 目标 P4的目标是作为一个统一的高度抽象的高级语言,聚焦于描述数据包解析处理过程,将底层的操作交由目标设备的编译器完成。 P4语言基础及实战 基础数据类型 数据类型 描述 bool 布尔型;0代表fasle,1代表true,可进行与、或、非等逻辑运算。 bitW 任意宽度W的无符号整型;位串是以比特位形式表示的任意长度的数(如:bit127,表示 长度为127比特的位串),但如果需要对位串进行某些数学运算时,位串长度必须是8的整数 倍(如:16、32、64bit) int(W) 任意宽度W有符号整型; varbitW 变长位串(bit-strings)不支持算术、比较、按位运算,甚至不支持类型转换。该数据类 型在定义时会指定一个静态的最大宽度值。 int 无限精度整数常量型; 常用方法及标识符 名称 描述 extract() 将包头(packet header)实例作为传参,从当前偏移量开始,将数据包中的数据拷贝到包头 实例中并将偏移量指向该头部的末尾。Extract方法中使用next标识符指向头部堆栈,以表 示下一个可解析位置。 select() 将字段列表作为传参,并以逗号分割;按顺序将字段值与程序中的设定值比较,找出匹配 条目。 latest 包头实例指针,指向解析器中最近提取的包头实例,必须在解析器中必须在extract()方法 调用后使用。 current() 字段指针,指向当前还未被解析的字段的最高比特位,即即将被解析的第一个比特位、当 前解析器解析到的比特位。可以传参,传参一代表距离当前解析比特位的正偏移量,传参 二代表字段长度。 P4语言基础及实践 P4语言组件

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档