[ovs-dev] [PATCH v2 0/3] ofproto: Support OF version-specific table-miss behaviours

Simon Horman horms at verge.net.au
Thu Mar 13 06:52:53 UTC 2014


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




More information about the dev mailing list