首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

P4语言编程详解

在文章《P4:开创数据平面可编程时代》中介绍了P4的架构特性、交换机结构以及P4程序的工作原理,本篇为大家介绍P4语言编码及规范,从编码角度去理解P4程序的工作流程。...behavioral-model模块是架构无关的,可以实现各种P4编程目标。该模块主要实现三个目标,其中最重要的是simple_switch,即实现P4语言标准中抽象交换机模型。...(10)tutorials P4语言教程,内含8个教程,覆盖了P4语言中的解析器、动作、状态存储、匹配-动作表、等基础组件。...2.P4语言标准 当前P4语言标准的最新版本为《The P4 Language Specification Version1.1》(以下简称V1.1),目前版本的P4语言编译器已经基本实现了P4语言标准中的绝大部分特性...P4语言中解析器采用有限状态机的设计思路,每个解析器方法视为一种状态。

7K54
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于P4编程语言的几个误区

    近几年SDN之父Nick教授身体力行的开始改造OpenFlow,网络设备第一次和计算设备一样具有了可编程的能力。和OpenFlow刚刚面世一样,用于网络设备编程P4编程语言也存在众多误解。...本文的主要目的就是解惑P4编程语言的几个常见误区。...误区三:P4只支持可编程芯片 P4语言并不是学术界灵光闪现的成果,它是业界在OpenFlow的前期探索后的成果,谷歌在其中发挥了重大作用。...而P4作为一种语言本身就是对网络行为的描述,所以只要能够让传统非可编程网络芯片可以理解由P4定义的转发流水线就能让传统芯片也支持P4定义的行为。...目前谷歌的SDN网络正在向可编程迈进,传统设备通过抽象层的转译也可以支持P4语言,因此传统厂商支持P4不是不行而是可为不可为的问题,毕竟业界老大哥携压倒性市场份额狂奔在另一条路上。 ? ?

    1.6K31

    C语言指针讲解:*&p和&*p

    欢迎关注微信公众号:计算机二级C语言 ,获取更多信息。 一讲到指针,不少同学就会觉得云里雾里。首先要明白,指针和地址是一个概念;然后明白指针和指针变量的区别。...我们定义一个指针变量int *pp是指针变量,专门用来存放地址。 int *p=&a; 相当于int *p; p=&a;   p存放的是a的地址,*p也等价于 a。...回过来看标题问题:*&p和&*p 根据运算优先级,*&p 等价于*(&p)。&*p 等价于&(*p)。...1、如果p是int *指针变量,那么*&p = p,&*p = p,都是p,但还没定义p指向哪,存的是谁的地址。 2、如果p是一个int变量,那么*&p = p;而&*p是非法的,因为*p非法。...比如int p =10;那么*&p = *(&p) = p = 10(即从p的地址取值),而&*p = &(*p) 则非法,因为p=10,*10是取内存地址为10的值,这在c语言中是不合法的。

    4.5K12

    P语言: 为异步、容错和不确定性而生的编程语言

    译者注:P语言是一款由微软、加州大学伯克利分校和伦敦帝国学院共同研发完成的编程语言,它在处理并发、故障切换等方面具有很强的优势。本文介绍了P语言的起源、特性及其使用场景。以下是译文。...为了应对异步计算带来的挑战,我们开发了P,一种用于在异步事件驱动应用程序中建模和制定协议的编程语言。该项目是微软研发人员以及加州大学伯克利分校和伦敦帝国学院的学术研究人员之间通力合作的结果。...在这方面,P类似于现代编程语言,比如Rust。 P在微软软件开发中的首次应用是在Windows 8.1和Windows Phone中承载USB 3.0驱动程序。...下载P语言:https://github.com/p-org/P 更多下载,请访问微软P语言及其工具:https://github.com/p-org Reddit上的精彩相关评论: 所有的编程语言设计者在对语言进行命名的时候都应该考略到可搜索性...为什么现在的编程语言在搜索引擎上都那么难搜索呢,比如“go”和“p”。 对于Go来说,我们还能使用Golang。 这个好像跟Erlang挺像的?希望它的语法更好用。

    1.6K60

    HTML---网页编程(1)

    ☆用HTML语言创作网页的说明 Web页面可采用超文本标识语言(HTML)创作,它允许将常规的文本与一些用来描述文本的标记混合使用。...在做网页的时候,有经验的程序员经常是分两步走:首先使用一些常用的网页制作工具做成网页的原型,然后再修改其HTML代码。...HTML概述 HTML是Hyper Text Markup Language的缩写,意思是“超文本标识语言”,它实际上是专门用来编写网页的一种编程语言。大多数网页的构成基础就是HTML的语句。...-- 这是注释 --> (不会在网页中显示出来的) 文字修饰 一个网页大多由以下要素构成:文字、图片、表格、动画及声音。在这些元素中,文字是十分重要的。下面我们就逐一讲述涉及文字的标记。...和 加删除线显示 ☆特殊标记 如果网页中有一些html的关键字要输出,怎么办呢 代码中 网页中显示 < < > > &

    1.9K10

    plsql编程语言_编程语言有哪些

    –pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程和存储函数等...--给指定员工涨100块钱 create or replace procedure p1(eno emp.empno%type) is begin update emp set sal=sal+100...where empno=eno; commit; end; --测试p1 declare begin p1(7788); end; 测试执行前: 测试执行后: 存储函数...f_yearsal(7788); dbms_output.put_line(s); end; --out类型参数如何使用 ---使用存储过程来算年薪 create or replace procedure p_yearsal...into s,c from emp where empno=eno; yearsal:=s+c; end; --测试 declare yearsal number(10); begin p_yearsal

    13K30
    领券