首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    P4入门教程(2):P4程序的编译、运行验证与分析

    在前面《P4入门教程:搭建开发和实验环境》一文中,梳理了P4实验的大致流程。P4程序只需要经过一次编译过程,生成数据平面的JSON格式描述文件,最后在启动软件交换机时将JSON描述文件导入即可。...本文重点讲述编译P4程序、启动P4交换机的方法,并以这样一个小功能为例展示P4程序的运行: 交换机只处理IPv4包,把收到的包打上三层MPLS标签,再从入端口把包发回去。.../mao_push_three_labels_send_back.p4 p4c-bm2-ss是p4c项目编译完后的产物之一,专门用于将P4程序编译生成bmv2使用的描述文件。...P4交换机使用Thrift库来实现RPC服务。控制面通过RPC向服务器下发配置、更改转发表、修改寄存器中的值等。...到此,P4程序的编译、运行和验证就顺利结束了,希望能给朋友们一点启发。下一篇“P4入门教程”系列连载文章中,我们将利用本次演示中的P4程序,进行P4程序结构的简析,敬请期待!

    3.8K50

    实践 | 为 Trackr app 适配大屏幕设备

    近期我们为它适配了大屏幕设备,所以不妨一起看看怎样在应用中使用 Material Design 和响应式范式,让应用在大屏幕设备上提供更精致、更直观的用户体验。...在大屏幕设备上,弹出菜单是一个小触控区域,它处于不太方便操作的位置。并且底部应用栏也被过度拉伸了。 △ 左侧: 手机上的导航展示。右侧: 平板上的导航展示。...△ 在大屏幕上的导航轨道 虽然是考虑到较大屏幕的设备而进行的此项更改,但由于腾出了更多的纵向空间来显示任务列表,横向模式显示的手机也能够因此受益。...在大屏幕上,UI 元素要么被拉伸,要么挤在一边,导致屏幕内容显得很不平衡。 △ 在手机上这样显示很自然,但在大屏幕上的空间利用率却不太理想。

    1.7K20

    P4语言规范》parser详解

    前言 为深入研究P4语言相关规范及运行操作使用,本系列文章根据P4.org网站给出的《The P4 Language Specification v1.0.2》[1]内容,并通过我们的运行使用的具体实例和分析汇总...,希望能为大家研究P4提供一点参考。...本系列文章分为三个部分,系列一翻译和阐述 P4.org网站给出的《The P4 Language Specification v1.0.2》的第二部分首部及字段;系列二是翻译和阐述《The P4 Language...一、解析器介绍 p4解析器是基于有限状态机的思想来设计的。...虽然P4支持这种图表的形式,但是没有规定必须这样做。 实际上,P4的解析状态节点可以分为两种: ☘ 一种是进行状态转移的选择节点,这个节点不要求进行对首部实例的识别操作。

    1.9K90

    P4语言编程详解

    在文章《P4:开创数据平面可编程时代》中介绍了P4的架构特性、交换机结构以及P4程序的工作原理,本篇为大家介绍P4语言编码及规范,从编码角度去理解P4程序的工作流程。...(7)p4factory 内含整套用以运行和开发基于behavioral model的P4程序环境的代码,帮助用户快速开发P4程序。...(10)tutorials P4语言教程,内含8个教程,覆盖了P4语言中的解析器、动作、状态存储、匹配-动作表、等基础组件。...2.P4语言标准 当前P4语言标准的最新版本为《The P4 Language Specification Version1.1》(以下简称V1.1),目前版本的P4语言编译器已经基本实现了P4语言标准中的绝大部分特性...表8中展示了P4中定义的基本动作。 ? ? 这些动作高度抽象且与协议无关,以实现P4语言处理数据的协议无关性。

    6.9K54

    P4虚拟化数据平面

    那么,是不是可以有一种使用纯P4语言实现的通用虚拟化框架呢?如何使用一个用户级别的程序来实现虚拟化?是否可以使用一个特殊设计的具有模拟其他P4程序的能力的P4程序?...HyPer4使用软件的方式拓展了P4语言,使得支持P4语言的设备可以具有如下功能: 可以在逻辑上存储多个P4程序并且同时运行它们(作为网络切片)或者热切换的快照 在每一个程序之间可以形成一个虚拟网络(...运行环境 P4语言运行环境简介 ?...上图左边部分描述了P4设备开始配置的过程。首先,用户会编译P4的代码,然后将二进制代码(或者其等价形式)装载进P4兼容的设备中。...为了模拟其他的P4程序,HyPer4需要根据被仿真的目的程序改变HyPer4的状态,进而将其被转换成对于表的操作。 通过将P4程序表示成状态,HyPer4可以支持P4程序的实时更新。

    1.3K60

    为何P4“落户”智能网卡?

    DSC卡从物理规格看就是插入标准服务器的适配卡,鼎鼎大名的业内大拿们为何选择了PCIe卡作为突破口,并且选择P4语言作为主要的开发工具,本文基于公开资料介绍如何实现一款支持P4语言的接口卡以及P4语言发挥的关键作用...图1: 分布式服务卡DSC 网络边缘的价值 网络交换机曾经是P4编程的最初重点,但把P4理念应用到网络外围的终端节点时,它可以呈现出更大的潜力,此时终端节点可以在scale-out模型中实现网络、安全和存储服务...为了充分利用流水线中设计的专用处理器并与卡的其他组件紧密集成,系统编程依赖于对P4语言的扩展。 报文缓存作为片上的主数据包交换器,将数据报文从网络接口传送到P4可编程报文处理数据平面,反之亦然。...为了实现这些目标,Pensando于今年2月份加入P4社区,致力于围绕便携式网卡架构(PNA)的规范积极推动架构工作组的工作,并可能在语言设计工作组内提出P4语言的扩展,以实现网卡和主机之间通过PCI总线的交互...有鉴于此,Pensando将与P4社区合作,增加对增量编程的支持,并可能增加新的架构模型。

    1.5K20

    P4论文分享】基于P4的可编程数据平面研究及其应用

    文献[43 – 44] 为P4程序实现了一个从P4语言到ODP的编译器MACSAD 设计并实现了从P4程序到ODP规范A P I的编译器,借助ODP项目的多平台支持性,使得P4程序可以无缝的迁移到大量支持...在满足网络流差异化需求的前提下实现对P4程序的优化. P5能够提升P4程序的并行度, 同时减少所需的匹配动作表的级数, 降低P4程序的部署要求....可以对大型P4程序生成有效的测试用例, 展现静态P4程序中存在的错误....(3) 使用P4基本实现了AFDX协议 P4在航空领域有一定的适用性,但是在安全性、 功能性上仍不完善, 在航空电子领域的P4商业应用仍需时日 4 . 5 . 4 云服务市场 P4带来的可编程性使得在交换机上完成流量的区分和不同服务的编排成为可能...P4技术在诸多本文未提及的应用场景下仍可有所作为. 4) P 4安全问题研究 a) 可编程数据平面可能会在三方面存在漏洞, 分别是P4表项、 P4程序以及P4交换机.

    2.2K10

    P4语言编程快速开始

    经过前两篇的P4理论介绍,相信大家已经对P4有个基本的了解了,本片文章为大家带来P4语言编程实战。...本篇文章主要介绍如何手动编译安装P4开发环境并使用虚拟交换机(bmv2)进行实验,如果不想手动下载源码或单独编译、安装每个模块,也可以选择下载已经集成了P4编译开发环境Ubuntu系统镜像。...每个子项目的作用在上篇文章《P4语言编程详解》中已介绍,这里不再赘述。图1中展示了P4项目主要模块的依赖关系,在进行编译安装时可以参考该依赖关系选择安装顺序。...这里需要注意模块依赖图与P4架构图的区别。...在看具体实例之前先回顾一下P4程序定义数据平面的流程: 图3 P4程序定义数据平面流程 这里介绍一下笔者在看P4程序时候的方法,仅供大家参考:首先,从流控制程序(control)开始,查看流水线

    2.3K61

    P4和POF的对比

    P4是一种对底层设备数据处理行为进行编程的高级语言,用户可以直接使用P4语言编写网络应用,之后经编译对底层设备进行配置进而使其完成用户的功能需求。...POF最终实现的功能与P4类似,也是提高底层设备的可编程性。...P4与众不同的地方在于有一套自己的抽象转发模型,如图1。 ? 图1 P4抽象转发模型 在此基础上,P4 的编程模型可分为两个阶段:第一个是配置阶段,通过有向图的方式定义具体转发逻辑的协议解析过程。...六、与控制器通信 由于P4的定位是高级编程语言,所以P4可以定义任意自己想要的配置。它可以让设备与SDN控制器通过OpenFlow通信,也可以通过本地的交换机操作系统控制,一切皆因P4程序设计而定。...在P4语言中,OpenFlow只是一个程序,两者可以协同工作。事实上也已经有了名为openflow.p4程序,就是用P4语言编写的实现OpenFlow功能的程序。

    2.3K30

    详解 Android 12L|更好地适配大屏幕设备

    因此,我们在近期的 Android 开发者峰会 上宣布推出专为大屏幕打造的 Android 12L 功能更新,以及全新的 API、工具和指南,让开发者更加容易地为大屏幕构建应用。...我们还介绍了即将对 Google Play 进行的更改,以帮助用户更轻松地发现适用于大屏幕的应用。请继续阅读,查看 Android 系统对大屏幕设备的支持有哪些新变化!...设计过程中始终考虑大屏幕模式 支持自适应 UI 的第一步是优化您的应用,以便应用在小屏幕和大屏幕上都能表现出良好的性能。...△ 参考设备定义 布局验证 在调整大屏幕 UI 时,如果您不确定从哪里开始入手,您可以首先使用新的工具来发现可能会对大屏幕设备造成影响的潜在问题。...对于未针对大屏幕进行优化的应用,我们将开始在应用的 Play 商店列表页上发送通知来提醒大屏幕设备用户。

    3.8K20

    Android 与 Chrome OS 中针对大屏幕设备的更新

    大屏幕设备正在逐步成为主流 1 亿新增 Android 平板电脑数据来源: 2021 年第二季度: IDC 单季度个人计算设备跟踪 一直以来,我们都与开发者紧密合作,及时了解他们针对大屏幕开发的需求以及上游设备制造商的实时动向...Play 商店更新 △ Play 商店更新 — 展示适配大屏幕的应用 我们还针对 Play 商店做出了一些改进,帮助用户找到适合大屏幕的最佳应用。...首先,我们正在将大屏幕设备应用的评分和评论功能独立出来;其次,我们正在针对应用的可变尺寸的功能和大屏幕上的布局方面,优化我们的质量检验流程;最后,我们将对输入的支持以及其他针对大屏幕的功能进行研究。...该功能让您能够利用现有应用结构来优化大屏幕布局。而且最令人兴奋的是采用该功能只需略微调整代码,某些情况下代码甚至无需调整。 △ 小屏幕和大屏幕 我们来详细看一下。该功能在设计之初就考虑到兼容性。...在新的版本中可以利用 Activity 内嵌 和测试 API 进而简化大屏幕布局维护。 别忘了加入美观的大屏幕布局,并添加键盘、鼠标和其他输入支持。

    2.4K40

    活动大屏幕上线,我又过了次主持瘾!

    至于主持那天发生的事, 且听下文我慢慢讲… ----- #乐享的活动大屏幕有多厉害?...# 个性化大屏幕背景,根据主题随心换 活动大屏幕的背景图片可以从乐享提供的模板中选择,也可以根据活动主题自定义上传背景,多样丰富的风格可解锁,我们提前挑选了适合当天年中会的大屏幕背景~ ?...-留言上墙支持匿名留言 开启【留言上墙】功能后,活动大屏幕将轮播员工的留言内容,管理员可以随时删除留言。管理员还可以在后台配置是否允许员工【匿名留言】。 ? >>手机端<< ?...当然,除了年会,在我们内测的这段时间里,还有很多客户发掘了大屏幕的其他玩法,听听大家怎么说—— 培训学习课堂 某大型股份制银行用乐享活动大屏幕做了一次Python的培训学习课堂,他们称乐享的现场签到+乐享直播...--- 多场景多功能的活动大屏幕应用 助力企业举办培训、节日、年会等活动 赶快体验起来~ PS:现在活动大屏幕还在内测中,目前仅支持1000人以下的现场活动 需要的话请扫下方二维码联系客服开通哦!

    1.2K30

    P4加入ONF和Linux基金会,推动P4的创新和采用

    P4语言联盟(P4.org)是P4编程语言的创建者,上周五宣布将成为开放网络基金会(ONF)旗下的一个项目,并且成为Linux基金会投资组合的一部分,P4联盟自2013年以来一直致力于可编程语言P4的非盈利组织...从一开始,P4就被设计为与目标无关(即,用P4编写的程序可以在不修改的情况下编译为在ASIC、FPGA、CPU、NPU和GPU等各种设备上裕运行)和协议(即P4程序可以描述现有的标准协议,或者可以用来指定转发行为...斯坦福大学计算机科学教授兼P4董事会成员Nick McKeown表示:“P4.org是一个免费的会员组织。作为ONF和Linux基金会的一部分,P4将保持开放和免费原则。...P4目前已经发展成为一个如此庞大的社区,成熟度逐渐为业界认可,需要得到ONF和Linux基金会的帮助。” P4可以同时用于可编程和固定功能设备。...P4也可以用来编写程序来描述全新的数据包转发行为。例如,P4广泛用于数据中心、企业和服务提供商网络的遥测和测量。

    81140
    领券