On Tue, Nov 19, 2013 at 11:42:14AM -0800, Ben Pfaff wrote:
> 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?

Yes, I think it does. Thanks.

I am working towards filling in one missing piece of the puzzle:
dropping packets for OF1.3 if there is a miss. But I was confused
about how the existing pieces fitted together. I think I understand
that now.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to