OpenFlow 1.1 and 1.2 specify that if a table-miss occurs then the default behaviour is to forward the packet the controller using a packet-in message. And until this patch this is the default behaviour that Open vSwitch uses for all OpenFlow versions.
OpenFlow1.3+ specifies that if a table-miss occurs then the default behaviour is simply to drop the packet. This patch implements this behaviour using the following logic: If a table-miss occurs and the table-miss behaviour for the table has not been set using a table_mod (in which case it is no longer the default setting) then: * Installing a facet in the datapath with a drop action in the if there are no pre-OF1.3 controllers connected which would receive an packet_in message. Note that this covers both the case where there are only OF1.3 controllers and the case where there are no controllers at all. * Otherwise sent a packet_in message to all pre-OF1.3 controllers. This covers both the case where there are only pre-OF1.3 controllers and there are both pre-OF1.3 and OF1.3+ controllers. Changes since v1 * Add patch to exercise table-miss flows * Do not remove *_is_table_miss * Do not remove table-miss flow packet-in reason fixup * Rebase The last patch in this series depends on "[PATCH v9 repost] ofproto: Honour Table Mod settings for table-miss handling" To aid review this series and its dependency are available in git at https://github.com/horms/openvswitch.git devel/table_miss-v2 Simon Horman (3): ofproto-dpif: Add table-miss flow tests ofproto-dpif: Differentiate between different miss types in packet in ofproto: Support OF version-specific table-miss behaviours OPENFLOW-1.1+ | 7 --- ofproto/connmgr.c | 65 +++++++++++++++++++++- ofproto/connmgr.h | 12 +++- ofproto/fail-open.c | 2 +- ofproto/ofproto-dpif-upcall.c | 2 +- ofproto/ofproto-dpif-xlate.c | 23 +++++++- ofproto/ofproto-dpif.c | 62 +++++++++++++++------ ofproto/ofproto-dpif.h | 9 +++ ofproto/ofproto-provider.h | 3 +- ofproto/ofproto.c | 8 +-- ofproto/ofproto.h | 22 +++++++- tests/ofproto-dpif.at | 126 +++++++++++++++++++++++++++++++++++++++--- tests/tunnel.at | 2 +- 13 files changed, 297 insertions(+), 46 deletions(-) -- 1.8.5.2 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev