[ovs-dev] [PATCHv2] ofproto-dpif: Mark packets as "untracked" after call to ct().

Joe Stringer joe at ovn.org
Mon Aug 21 19:38:05 UTC 2017


On 10 August 2017 at 23:38, Justin Pettit <jpettit at ovn.org> wrote:
> Packet and Connection state is only available to the processing path
> that follows the "recirc_table" argument of the ct() action.  The
> previous behavior made these states available until the end of the
> pipeline.  This commit changes the behavior so that the Packet and
> Connection state are cleared for the current processing path whenever
> ct() is called (in addition to reaching the end of the pipeline.)
>
> A future commit will remove the behavior that a "send to controller"
> action causes all packets for that flow to be handled via the slow-path.
> The current behavior of connection tracking state makes that difficult
> due to datapath actions containing multiple OpenFlow rules that may
> contain different connection tracking states.  This change will make
> that future commit possible.
>
> Signed-off-by: Justin Pettit <jpettit at ovn.org>
> ---

Overall I think that this is an improvement to consistency of what
connection tracking metadata is accessible from different points in
the OpenFlow pipeline. Although this will restrict the availability of
ct_state following the ct() action execution, controller writers who
wish to preserve access to this content across a CT action execution
can do so using registers. In practice I'm not aware of any controller
that is currently operating this way though.

Do we need a NEWS item for this?

Acked-by: Joe Stringer <joe at ovn.org>


More information about the dev mailing list