“ ovs-dpctl show”命令是什么意思?

时间:2019-02-25 10:15:15

标签: openvswitch

当我执行'ovs-dpctl show'命令时,我得到了:

$ ovs-dpctl show
system@ovs-system:
    lookups: hit:37994604 missed:218759 lost:0
    flows: 5
    masks: hit:39862430 total:5 hit/pkt:1.04
    port 0: ovs-system (internal)
    port 1: vbr0 (internal)
    port 2: gre_sys (gre)
    port 3: net2

我得到了一些解释:

[-s | --statistics] show [dp...]
              Prints a summary of configured datapaths, including their  data‐
              path  numbers  and  a  list of ports connected to each datapath.
              (The local port is identified as port 0.)  If -s or --statistics
              is specified, then packet and byte counters are also printed for
              each port.

              The datapath numbers consists of flow stats and mega  flow  mask
              stats.

              The  "lookups"  row  displays three stats related to flow lookup
              triggered by processing incoming packets in the datapath.  "hit"
              displays number of packets matches existing flows. "missed" dis‐
              plays the number of packets not matching any existing  flow  and
              require  user space processing.  "lost" displays number of pack‐
              ets destined for user space process but subsequently dropped be‐
              fore  reaching  userspace. The sum of "hit" and "miss" equals to
              the total number of packets datapath processed.

              The "flows" row displays the number of flows in datapath.

              The "masks" row displays the mega flow mask stats. This  row  is
              omitted  for datapath not implementing mega flow. "hit" displays
              the total number of masks visited for matching incoming packets.
              "total" displays number of masks in the datapath. "hit/pkt" dis‐
              plays the average number of masks visited per packet; the  ratio
              between "hit" and total number of packets processed by the data‐
              path.

              If one or more datapaths  are  specified,  information  on  only
              those  datapaths  are  displayed.  Otherwise, ovs-dpctl displays
              information about all configured datapaths.

我的问题是:

  1. 传入数据包的总数等于(lookups.hit + lookups.missed)?
  2. 如果传入数据包的总数等于 (lookups.hit + lookups.missed),为什么masks.hit的值是:39862430 大于(lookups.hit:37994604 + lookups.missed:218759)?
  3. 为什么masks.hit / pkt比率大于1?什么是合理的 在什么时间间隔值?

1 个答案:

答案 0 :(得分:0)

  
      
  1. 传入数据包的总数等于(lookups.hit +   lookups.missed)?
  2.   

是的。 (加上lookups.lost,但我发现对您来说是零。)

  
      
  1. 如果传入数据包的总数等于   (lookups.hit + lookups.missed),为什么masks.hit的值是:39862430   大于(lookups.hit:37994604 + lookups.missed:218759)吗?
  2.   

masks.hit是已执行的哈希表查找数 处理所有已处理的数据包。给定的数据包可能 最多需要masks.total查找。

  
      
  1. 为什么masks.hit / pkt比率大于1?什么是合理的   在什么时间间隔值?
  2.   

该比率不能小于1.00,因为那将意味着 处理数据包甚至不需要一次查找。比例 1.04非常好,因为这意味着大多数数据包都使用 仅一次查找。比率越高越糟。

由Ben Pfaff(blp@ovn.org)