如果我在交换机上安装了这两个规则,应该根据OpenFlow交换机规范执行哪一个规则? OVS执行第一个,尽管第二个具有更高的优先级:
第一条规则:
cookie=0x20000002000000,
duration=14647.575s,
table=0,
n_packets=1297621,
n_bytes=145897910,
idle_timeout=65535,
priority=1,
udp,
in_port=3,
dl_src=02:6d:f3:c1:b4:7b,
dl_dst=02:54:ab:ce:ba:0f,
nw_src=10.10.10.6,
nw_dst=10.10.10.1,
tp_src=46329,
tp_dst=1000
actions=output:1
第二条规则:
cookie=0xa000004039d1ae,
duration=164.680s,
table=0,
n_packets=0,
n_bytes=0,
send_flow_rem
priority=9999,
udp,
in_port=ANY,
nw_src=10.10.10.6,
nw_dst=10.10.10.1,
tp_dst=1000
actions=set_field:10.10.10.6->ip_src,
output:1
答案 0 :(得分:0)
虽然目前尚未记录,但{strong> dataArr = read_file(argv[1]);
作为ANY
的值只应用于流量模式(删除)和流量统计信息请求。要匹配数据包而不管其端口,您只需从OpenFlow规则中删除in_port
。
此行为是not documented,但源代码中的几个地方提到了它。首先,in_port=ANY
是defined as a synonym of OFPP_NONE
。 The comment above提到它只应用于匹配OpenFlow规则。最后,the comment for OFPP_NONE
definition声明OFPP_ANY
表示OFPP_NONE
。
我认为这应该被正确记录,或Not associated with any port
在使用不当时应拒绝该值。我将在ovs-dev邮件列表中提出问题,并根据答案更新此帖子。