P4

有没有谁对switch.p4比较熟悉?

已邀请:

Cool - SDN&P4程序猿

赞同来自:


丁老师想了解哪方面的信息,最近要研究新的方向了吗?

dingrui37

赞同来自:


不懂,太菜,想研究研究的。

dingrui37

赞同来自:


汗,我不是什么老师,没有那么老资历的,就是打酱油的。

Capilano - 花若盛开,清风自来

赞同来自:


您好,看到一篇文章介绍 switch.p4的,不知道是否有帮助,供参考

本文转载自:takeshi.tw

P4 Switch 这一个repo 中其实整合了许多不同的元件,如下:

Software switch(通过switch.p4 产生)
Resource Mgmt. API(通过 switch.p4产生)
Switch API
Switch Abstraction Interface(SAI)
Switchlink(Linux netlink listener)

下图表示了他们的关系(取自官方GitHub):
+-----+   +-----+   +-----+   +-----+
|App a|   |App j|   |App n|   |App z|
|     |...|     |...|     |...|     |
+-----+   +-----+   +-----+   +-----+
   |         |         |         |
   |         |    +----|         |
+------------+   |    |
| Switchlink |   |    |
|            |<-----------------------------+
+------------------+  |                     |
|     SAI          |  |                     |
|                  |  |                     |
+-----------------------+                   |
|      Switch API       |                   |
|                       |                   |
+-----------------------+---------+         |
|      Resource Mgmt. API         |         |
| (auto-gen. from switch.p4)      |         | Netlink events
+---------------------------------+         |
|        Soft Switch              |         |
|  (compiled from switch.p4)      |         |
+---------------------------------+         |
                                        |
                                        |
+---------------------------------------------------+
|                     Kernel                        |
|                                                   |
+---------------------------------------------------+


其实switch.p4 是来自于DC.p4 这一篇论文,他明定了在Data center 中的Switch 该如何用P4 去定义出来,后来就延伸成为了switch.p4 这一个repo。

switch.p4 包含了以下功能(取自官方 GitHub):

Basic L2 Switching: Flooding, learning and STP
L2 Multicast
Basic L3 Routing (unicast): IPv4 and IPv6 and VRF
L3 Multicast
LAG
ECMP
Tunneling: VXLAN and NVGRE (including L2/L3 Gateway), Geneve, and GRE
Basic ACL: MAC and IP ACLs
Unicast RPF check
MPLS: LER, LSR, IPVPN, VPLS, L2VPN
Host interface
Mirroring: Ingress and egress mirroring with ERSPAN
Counters/Statistics
Ingress Policers
Inband Network Telemetry (INT)

mario_hu - 欲戴王冠必承其重

赞同来自:


@Capilano 您好,我最近在看switch.p4的代码,请问下面这五个元件在switch中的作用是什么?能详细说一下吗?或者有什么资料可以推荐的?

Software switch(通过switch.p4 产生)
Resource Mgmt. API(通过 switch.p4产生)
Switch API
Switch Abstraction Interface(SAI)
Switchlink(Linux netlink listener)

Capilano - 花若盛开,清风自来

赞同来自:


@mario_hu ,可以在GitHub上找到一些资料,帮助理解,例如http://lists.p4.org/pipermail/ ... .html

mario_hu - 欲戴王冠必承其重

赞同来自:


@Capilano 谢谢您的回复

要回复问题请先登录注册