[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