[ovs-dev] [PATCH] meta-flow: Remove metadata prerequisite on ether type.

Ben Pfaff blp at ovn.org
Fri Mar 24 18:06:13 UTC 2017


On Wed, Mar 22, 2017 at 04:48:07PM -0700, Jarno Rajahalme wrote:
> Conntrack original direction tuple fields depend on the conntrack
> state and the type of the packet that was tracked.  These dependencies
> were encoded as OpenFlow prerequisites in commit daf4d3c18da4 ("odp:
> Support conntrack orig tuple key.").  However, having a prerequisite
> from a metadata field to a packet header turned out to be problematic,
> since sometimes we are decoding metadata fields alone, so that the
> packet type field is not available.
> 
> The reason for the packet type dependency is that the IP addresses in
> the original direction tuple can be either IPv4 or IPv6 addresses, and
> it would be invalid to match on IPv4 original direction tuple
> addresses for an IPv6 packet and vica verca.  Upon closer look,
> however, allowing this kind of mismatched match only causes the flow
> to never match anything, rather than causing more severe problems.
> 
> This patch removes the formal prerequisite on the packet type, but
> replaces that with an explicit check for the mismatch on flow install.
> This way we can still return an error to the controller if it tries to
> install a mismatched flow.
> 
> Reported-by: Dong Jun <dongj at dtdream.com>
> Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2017-March/330052.html
> Fixes: 7befb20d0f70 ("nx-match: Fix oxm decode.")
> Fixes: daf4d3c18da4 ("odp: Support conntrack orig tuple key.")
> Suggested-by: Numan Siddique <nusiddiq at redhat.com>
> Suggested-by: Ben Pfaff <blp at ovn.org>
> Signed-off-by: Jarno Rajahalme <jarno at ovn.org>

This seems reasonable to me.

Acked-by: Ben Pfaff <blp at ovn.org>


More information about the dev mailing list