当 OVS 失去与控制器的连接时,流规则会发生什么变化?

What happens to flow rules when OVS loses connection to a controller?

据我所知,流程规则仍然存在。我的问题是将数据包定向到控制器的规则。例如,如果有新的流量进入,而控制器已关闭,是否会简单地丢弃这个新数据包?

will this new packet simply be dropped?

完全正确!

流量是否出现取决于配置。这是Openflow 1.3 documentation的解释:

Flow entries are removed from flow tables in two ways, either at the request of the controller or via the switch flow expiry mechanism. The switch flow expiry mechanism that is run by the switch independantly of the controller and is based on the state and configuration of flow entries. Each flow entry has an idle_timeout and a hard_timeout associated with it. If either value is non-zero, the switch must note the flow entry's arrival time, as it may need to evict the entry later. A non-zero hard_timeout field causes the flow entry to be removed after the given number of seconds, regardless of how many packets it has matched. A non-zero idle_timeout field causes the flow entry to be removed when it has matched no packets in the given number of seconds. The switch must implement flow expiry and remove flow entries from the flow table when one of their timeout is exceeded.

如果 idle_timeout 和 hard_timeout 都为零,则条目被认为是永久的并且永远不会超时:

If the idle_timeout is set and the hard_timeout is zero, the entry must expire after idle_timeout seconds with no received trafic. If the idle_timeout is zero and the hard_timeout is set, the entry must expire in hard_timeout seconds regardless of whether or not packets are hitting the entry. If both idle_timeout and hard_timeout are set, the flow entry will timeout after idle_timeout seconds with no trafic, or hard_timeout seconds, whichever comes first. If both idle_timeout and hard_timeout are zero, the entry is considered permanent and will never time out. It can still be removed with a flow_mod message of type OFPFC_DELETE.