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