[ovs-dev] [PATCH] dpif-netdev: Always serialise recirc_id to upcall key.

Joe Stringer joestringer at nicira.com
Mon May 12 01:55:39 UTC 2014

On 10 May 2014 03:14, Ben Pfaff <blp at nicira.com> wrote:

> On Fri, May 09, 2014 at 02:35:44PM +1200, Joe Stringer wrote:
 > This was causing a mismatch between the odp flow key in an upcall
> > compared to the odp flow key that is serialised upon flow_dump.
> >
> > Signed-off-by: Joe Stringer <joestringer at nicira.com>
> I agree that the flow keys that appear in the flow dump and in upcalls
> should match.  This change implies that flow dumps always include a
> recirc_id.  But why does that happen?  I don't see obvious code in
> dpif-netdev.c that does that.

To be more precise, this is my understanding:
* Upcall from dpif-netdev does not contain recirc_id in the odp key.
* handle_upcalls() does xlate_actions() which generates a mask that
exact-matches recirc_id.
* handle_upcalls sends down the original odp flow key (missing recirc_id)
with the flow mask (exact matching it).
* dpif-netdev creates the flow based on this.
* flow_dump_next(), when re-serialising the flow, puts the recirc_id as
part of the odp flow key, because the flow masks it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20140512/48e08904/attachment-0005.html>

More information about the dev mailing list