[ovs-dev] [PATCH] dpif-netdev: Always serialise recirc_id to upcall key.
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
* 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...
More information about the dev