p4交換機可以獲取的數據


P4交換機(v1 model)

!!轉載請注明出處!!
本文鏈接:https://www.cnblogs.com/mike1024/p/14847129.html

  • 數據包頭部數據的提取及操作

    • 提取
      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:數據包出隊列時的隊列的深度,即隊列中數據包個數,只能用於 出口匹配控制塊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM