P4

bmv2模拟环境里有寄存器信息吗


想问下,有的话怎么查看,多谢了!
已邀请:

applo - 生活不止眼前的苟且,还有。。。

赞同来自:


可以的啊,P4有个exercise,可以参考一下,详见

Wasdns

赞同来自:


用P4语言定义一个寄存器可以参考对应的语言规范:https://p4.org/specs/

Tutorial中也有对应的exercise,比如楼上提到的P414语言寄存器练习:https://github.com/p4lang/tuto ... ister

yifan - 春风十里不如你

赞同来自:


多谢楼上,这个例子比较简单,有什么方法可以查看更多转发流程上的寄存器呢,比如max frame,ipg,qos,mc_mapping之类的

hanw

赞同来自:


楼上所说的都是metadata,不是寄存器(register).

yifan - 春风十里不如你

赞同来自:


@hanw ,多谢解答,我理解bmv2只是模拟了转发模型,没有真实寄存器信息是吗?真实寄存器信息还没办法通过软件手段模拟吧

hanw

赞同来自:


bmv2 目前支持的metadata在这个文档里有解释。https://github.com/p4lang/beha ... ch.md

applo - 生活不止眼前的苟且,还有。。。

赞同来自:


之前的理解一直不太准确,看楼上回复的bmv2应该是不支持模拟寄存器的了

hanw

赞同来自:


你能举几个你所说的寄存器的例子吗?我觉得我们说的不是一种寄存器。

applo - 生活不止眼前的苟且,还有。。。

赞同来自:


比如像设置端口通过报文帧长的max_frame寄存器或者调度策略TX Queue Control Register,这种应该属于硬件寄存器,软件不会模拟的吧

要回复问题请先登录注册