码迷,mamicode.com
首页 > 其他好文 > 详细

p4交换机可以获取的数据

时间:2021-06-04 18:54:04      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:端口   包括   erro   计数   写入   体系结构   time   error   err   

P4交换机(v1 model)

  • 数据包头部数据的提取及操作

    • 提取
      1. 固定的头部格式,可以包括定长和不定长
    • 操作
      1. 按照条件进行包计数
      2. 头部信息的比较
  • 交换机体系结构自带的元数据(standard metadata):时间戳均为 微秒 单位

    • ingress_port:数据包到达设备的入口端口号(只读)

    • packet_length:对于来自端口的包或者再循环的包的长度(bytes)

    • egress_spec:输出端口(入口匹配控制块)

    • egress_port:数据包的目的输出端口(只在 出口匹配控制块访问,只读)

    • instance_type:(只读)

      1. 入口匹配控制块用于标识包是 resubmit 还是 recirculate 的结果
      2. 出口匹配控制块用来标识包是 resubmit、recirculate、clone、多播复制或者普通单播的数据包
    • parser_error:标识是否解析期间发生错误

    • checksum_error:verify_checksum 原始操作的调用判断校验和的结果(正确与否)

    • ingress_global_timestamp(可以被写入,但应该只进行读取,微秒)

      1. 数据包出现在 入口匹配控制块 的启动交换机后的时间戳,交换机启动的时候设置 0
      2. 可以被 入口控制块 和 出口控制块 读取
    • egress_global_timestamp(可以被写入,但应该只进行读取,微秒)

      1. 数据包出现在 出口匹配控制块 的启动交换机后的时间戳,交换机启动的时候设置 0
      2. 只能由 出口控制块 读取
    • mcast_grp(多播功能)

      1. bmv2运行时接口配置的有效多播组之一
      2. 需要多播时,必须在 入口匹配控制块 写入此字段,0 表示没有多播
    • egress_rid(多播功能)

      1. 只在 出口匹配控制块 有效,且只读
      2. 用于唯一标识相同入口数据包的多播复制包(我暂时不是很理解)
    • enq_timestamp:数据包首次入队列的时间戳,只能用于 出口匹配控制块

    • enq_qdepth:数据包首次入队列时队列的深度,即队列中数据包个数,只能用于 出口匹配控制块

    • deq_timedelta:数据包在队列中花费的时间,只能用于 出口匹配控制块

    • deq_qdepth:数据包出队列时的队列的深度,即队列中数据包个数,只能用于 出口匹配控制块

p4交换机可以获取的数据

标签:端口   包括   erro   计数   写入   体系结构   time   error   err   

原文地址:https://www.cnblogs.com/mike1024/p/14847129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!