目录
一、Tofino架构
如下图所示, Tofino采用的是一种匹配管道,首先传入的数据包是字节流,经过解析器的解析成为PHV,之后传递到匹配操作单元序列,在上面可以进行:从数据包上提取密钥并在匹配表中寻找对应的操作产生新的字段。最后新的字段又再次解析为字节流与输入格式一样。
至于对表的匹配操作就是用P4来编写,先匹配最底层的协议接着一层层往上匹配,匹配仅需要数据包提供的标头值,这样的好处是可以同时进行匹配减少管道延迟,如下图所示
下图即为Tofino2架构,由多个MAC端口共享多条管道,数据包由入口匹配操作管道进行处理为多播数据包(好像是可以减少网络带宽),然后存储在公共数据包缓冲区内存中并与相关输出端口关联。之后,数据包从公共缓冲区中读出,然后通过出口匹配操作管道传递经Deparser处理后输出