[ovs-dev] [packet-in 7/8] connmgr: Fix packet-in reason for OpenFlow1.3 table-miss flow entries.

Ben Pfaff blp at nicira.com
Tue Nov 19 19:42:14 UTC 2013


Please forgive me for not answering point-by-point.  I think that
there is some basic confusion here that I can clear up quickly, and
then I think the rest will follow from that.

In OpenFlow 1.0 through 1.2, a "no match" packet-in meant exactly
that: no match was found in a table.  If any match was found, then a
packet-in could get sent via an action, and in that case the reason
would be "action".

OpenFlow 1.3 changed the semantics.  In OF1.3, if there is actually no
match, then the packet gets dropped and no packet-in is sent.  If a
match is found, and that match sends a packet-in via an action,
though, the reason found in the packet-in depends on the flow.  If the
flow match wildcards all fields and has priority 0, then that flow is
a "table miss flow entry" and "no match" is used as the reason;
otherwise, "action" is used as the reason.

In OVS, we try to handle both cases, by sending a packet-in with a
reason that matches the semantics of the protocol actually in use on
each OpenFlow connection.

Does that help?

Thanks,

Ben.



More information about the dev mailing list