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. The last patch in this series depends on "[PATCH v8 repost 2] 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 Simon Horman (4): ofp-util: Use enum ofp_table_config in struct ofputil_table_mod connmgr: Remove unnecessary reason fixup logic ofproto-dpip: Set generated_by_table_miss for miss rule ofproto: Support OF version-specific table-miss behaviours OPENFLOW-1.1+ | 7 ---- lib/ofp-util.h | 2 +- ofproto/connmgr.c | 92 ++++++++++++++++++++++++++++++-------------- ofproto/connmgr.h | 1 + ofproto/ofproto-dpif-xlate.c | 5 ++- ofproto/ofproto-dpif.c | 69 +++++++++++++++++++++++---------- ofproto/ofproto-dpif.h | 3 +- ofproto/ofproto-provider.h | 14 +------ ofproto/ofproto.c | 8 ++-- ofproto/ofproto.h | 22 ++++++++++- tests/ofproto-dpif.at | 42 ++++++++++++++++---- tests/tunnel.at | 2 +- 12 files changed, 183 insertions(+), 84 deletions(-) -- 1.8.5.2 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev