[ovs-dev] [branch-2.7 0/4] Backport of variable length metaflow field fixes.

Joe Stringer joe at ovn.org
Fri Mar 17 21:30:05 UTC 2017


On 15 March 2017 at 16:01, Joe Stringer <joe at ovn.org> wrote:
> Commit 04f48a68c428 ("ofp-actions: Fix variable length meta-flow OXMs."), on
> branch-2.7 as 9554b03d6ab7, attempted to address incorrect encode and decode of
> variable length metaflow fields where the OXM/NXM encoding of the variable
> length fields would incorrectly serialize the length. The patch addresses this
> by introducing a new per-bridge structure that adds additional metaflow fields
> for the variable-length fields on demand when the TLVs are configured by a
> controller.
>
> Unfortunately, in the original patch there was nothing ensuring that flows
> referring to variable length fields would retain valid field references when
> controllers reconfigure the TLVs. In practice, this could lead to a crash of
> ovs-vswitchd by configuring a TLV field, adding a flow which refers to it,
> removing the TLV field, then running some traffic that hit the configured flow.
>
> This series looks to remedy the situation by reference counting the variable
> length fields and preventing a controller from reconfiguring TLV fields when
> there are active flows whose match or actions refer to the field.
>
> This series was applied to master, but given the size of the change and the
> minor changes necessary to apply to branch-2.7, I would feel more confident in
> backporting it if there was an extra round of review to ensure that nothing was
> missed when this series was first applied to master.

One further concern I have with this series is that while it allows us
to fix bugs in OVS 2.7, it would change some files in
include/openvswitch/, which I believe indirectly implies that it could
break the libopenvswitch ABI, which we try not to do within a release
series:

http://docs.openvswitch.org/en/latest/internals/contributing/libopenvswitch-abi/


More information about the dev mailing list