ofproto-dpif: Handle tunnel config changes in facet_revalidate().
For most of the history of Open vSwitch, one could assume that a
given datapath flow key would consistently translate into the same
userspace struct flow representation. However, with the switch to
flow based tunneling, we now have a situation where a database
configuration change can cause a datapath flow key's in_port to
correspond to a completely different OpenFlow in_port possibly on a
completely different bridge. This can cause all sorts of problems,
including traffic black holes due to confused facet revalidations.
To solve the problem, this patch verifies that each facet's
subfacets still result in the appropriate struct flow. If a facet
fails this test, it is simply removed.
Bug #15213.
Signed-off-by: Ethan Jackson <ethan@nicira.com>