On Mon, Aug 22, 2016 at 04:31:40PM -0700, Jarno Rajahalme wrote:
> Refactor handle_packet_out() to prepare for bundle support for packet
> outs in a later patch.
>
> Two new callbacks are introduced in ofproto-provider class:
> ->packet_xlate() and ->packet_execute(). ->packet_xlate() translates
> the packet using the flow and actions provided by the caller, but
> defers all OpenFlow-visible side-effects (stats, learn actions, actual
> packet output, etc.) to be explicitly executed with the
> ->packet_execute() call.
>
> Signed-off-by: Jarno Rajahalme <[email protected]>
This adds a couple of comments of the form
/* OUTPUT to a real port can not refer to versionable lookups (flow tables,
* groups), so we do not need to worry about the version to use here. */
but I'm not sure that I believe it. In particular,
compose_table_xlate(), which has this comment, outputs to OFPP_TABLE,
which isn't a real port at all but instead does a full flow table
traversal.
This line in packet_execute() needs an extra space:
execute.actions =opo->odp_actions.data;
I'm surprised to see ofproto.c including ofproto-dpif-xlate.h. That
seems like a layer violation.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev