fvctl 命令的解释?

Explanation for fvctl command?

我真的需要你的帮助来理解 dl_type=0x0800nw_proto=6 是什么在此 flowvisor 命令中的意思是:

$ fvctl -f /dev/null add-flowspace dpid1-port4-video-src 1 100 in_port=4,dl_type=0x0800,nw_proto=6, tp_src=9999 视频=7

谢谢!

约定与 Open vSwitch ovs-ofctl 工具相同,联机帮助页包含您要查找的所有信息。

可以找到联机帮助页的纯文本版本 here

它提到:

The following shorthand notations are also available:
(...)
tcp    Same as dl_type=0x0800,nw_proto=6.
(...)

完整描述包含更多信息:

dl_type=ethertype
          Matches Ethernet protocol type ethertype, which is specified  as
          an  integer between 0 and 65535, inclusive, either in decimal or
          as a hexadecimal number prefixed by 0x (e.g. 0x0806 to match ARP
          packets).

nw_proto=proto
ip_proto=proto
          When ip or dl_type=0x0800 is specified, matches IP protocol type
          proto, which is specified as a decimal number between 0 and 255,
          inclusive (e.g. 1 to match ICMP packets or 6 to match TCP  pack‐
          ets).

          When  ipv6  or  dl_type=0x86dd is specified, matches IPv6 header
          type proto, which is specified as a decimal number between 0 and
          255,  inclusive  (e.g.  58 to match ICMPv6 packets or 6 to match
          TCP).  The header type is the terminal header  as  described  in
          the DESIGN document.

          When  arp  or  dl_type=0x0806  is specified, matches the lower 8
          bits of the ARP  opcode.   ARP  opcodes  greater  than  255  are
          treated as 0.

          When  rarp  or  dl_type=0x8035 is specified, matches the lower 8
          bits of the ARP  opcode.   ARP  opcodes  greater  than  255  are
          treated as 0.

          When  dl_type is wildcarded or set to a value other than 0x0800,
          0x0806, 0x8035 or 0x86dd, the value of nw_proto is ignored  (see
          Flow Syntax above).