你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
Wasdns
赞同来自: Cool 、zerotyj 、silverbullet
Cool - SDN&P4程序猿
赞同来自: zerotyj 、Wasdns
要回复问题请先登录或注册
2 个回复
Wasdns
赞同来自: Cool 、zerotyj 、silverbullet
按照我的理解,大概是这样的:P4语言(P4_14)提出不久时,p4-hilr:https://github.com/p4lang/p4-hlir是它的编译器,P4软件交换机是BMv1: https://github.com/p4lang/p4c-behavioral;同时,为使大家更好的上手P4语言,提供了p4factory和tutorials这两个仓库;
后来P4社区使用C++重写了BMv1软件交换机,形成现在通用的P4软件交换机BMv2:https://github.com/p4lang/behavioral-model,并对p4-hilr编译器做了对应的拓展,形成p4c-bm编译器。
16年,为解决P4_14语言的语法问题和限制,社区开发了P4_16语言,并基于P4_16语言做了新的编译器p4c;p4c是P4语言的前端编译器,既支持p4_16语言也支持p4_14语言,同时允许各大厂商开发架构相关的的后端编译器,即对应于ebpf、bmv2、tofino、NetFPGA等架构的后端编译器。这个过程中,P4语言官方教程Tutorial是不断更新的,而p4factory不再被官方维护,所以如果要上手P4的话建议从Tutorial开始。p4app是通过docker环境运行P4实验的一个仓库,如果想尝试的可以参考孙勇峰老师的博客:sunyongfeng.com/201705/networks/p4/repo_p4app.html。
Cool - SDN&P4程序猿
赞同来自: zerotyj 、Wasdns
p4c 是否可以认为是 p4c-bm 的最新版本,p4c-bm 只支持 p4-14 而且指针对 bmv2 这个目标,而 p4c 可以支持 p4-14 和 p4-16,而且包含了多个后端编译器。
---可以这么理解
p4app 是否也是 p4factory 的最新版本
--- p4app 和 p4factory是不同的实例,p4factory目前已废弃,学习P4的实例可以参考这里的p4lang/tutorials、或者behavioral-model/targets/里的。