P4学习----Metadata

元数据是用来携带数据和配置性的东西,元数据的申明与包头类似,但在实例化的时候有所不同,而且包头和元数据在字段值的约束上存在一定的差别。
元数据分为两种,一种是用来携带P4程序运行过程中产生的数据的用户自定义元数据(User-Defined Metadata),如首部字段的运算结果等。另一种是固有元数据(Intrinsic Metadata),用于携带交换机自身的配置信息,如数据包进入交换机时的端口号等。

自定义元数据

开发者自定义metadata,定义方式和header一样。
在这里插入图片描述
然后可以直接应用在Action和Control里。

固有元数据

可以直接使用。
在这里插入图片描述
有8种固有元数据,这些元数据携带了数据包相关的状态信息。
**ingress_port :**数据包的入端口,解析之前设置,只读。
**packet_length:**数据包的字节数,当交换机在快速转发模式下,该元数据不能在动作(action)中匹配或引用。只读。
**egress_spec :**在入端口流水线的匹配-动作过程之后设置,指定数据包出端口,可以是物理端口、逻辑端口或者多播组。
**egress_instance :**用于区分复制后数据包实例的标识符。只读。
**instance_type:**数据包实例类型:正常(Normal)、入端口复制(ingress clone)、出端口复制(egress clone)、再循环(recirculated)。
**parser_sratus :**解析器解析结果,0表示无错误,其实数字代表了对应的错误类型。
**parser_error_location :**指向P4程序错误发生处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值