This is a top-level document, so plain old rST is preferred.
Signed-off-by: Stephen Finucane
---
v2:
- Split the OF message table into multiple tables
- Resolve some issues with table headers not displaying
---
DESIGN.md | 1093
DESIGN.rst | 1163 +++
Makefile.am |2 +-
include/openvswitch/ofp-util.h |2 +-
lib/ofp-util.c |2 +-
ovn/controller/pinctrl.c|2 +-
ovn/ovn-architecture.7.xml |2 +-
rhel/openvswitch-fedora.spec.in |2 +-
rhel/openvswitch.spec.in|2 +-
9 files changed, 1170 insertions(+), 1100 deletions(-)
delete mode 100644 DESIGN.md
create mode 100644 DESIGN.rst
diff --git a/DESIGN.md b/DESIGN.md
deleted file mode 100644
index a330312..000
--- a/DESIGN.md
+++ /dev/null
@@ -1,1093 +0,0 @@
-Design Decisions In Open vSwitch
-
-
-This document describes design decisions that went into implementing
-Open vSwitch. While we believe these to be reasonable decisions, it is
-impossible to predict how Open vSwitch will be used in all environments.
-Understanding assumptions made by Open vSwitch is critical to a
-successful deployment. The end of this document contains contact
-information that can be used to let us know how we can make Open vSwitch
-more generally useful.
-
-Asynchronous Messages
-=
-
-Over time, Open vSwitch has added many knobs that control whether a
-given controller receives OpenFlow asynchronous messages. This
-section describes how all of these features interact.
-
-First, a service controller never receives any asynchronous messages
-unless it changes its miss_send_len from the service controller
-default of zero in one of the following ways:
-
- - Sending an OFPT_SET_CONFIG message with nonzero miss_send_len.
-
- - Sending any NXT_SET_ASYNC_CONFIG message: as a side effect, this
-message changes the miss_send_len to
-OFP_DEFAULT_MISS_SEND_LEN (128) for service controllers.
-
-Second, OFPT_FLOW_REMOVED and NXT_FLOW_REMOVED messages are generated
-only if the flow that was removed had the OFPFF_SEND_FLOW_REM flag
-set.
-
-Third, OFPT_PACKET_IN and NXT_PACKET_IN messages are sent only to
-OpenFlow controller connections that have the correct connection ID
-(see "struct nx_controller_id" and "struct nx_action_controller"):
-
- - For packet-in messages generated by a NXAST_CONTROLLER action,
-the controller ID specified in the action.
-
- - For other packet-in messages, controller ID zero. (This is the
-default ID when an OpenFlow controller does not configure one.)
-
-Finally, Open vSwitch consults a per-connection table indexed by the
-message type, reason code, and current role. The following table
-shows how this table is initialized by default when an OpenFlow
-connection is made. An entry labeled "yes" means that the message is
-sent, an entry labeled "---" means that the message is suppressed.
-
-```
- master/
- message and reason code other slave
- ----
- OFPT_PACKET_IN / NXT_PACKET_IN
-OFPR_NO_MATCH yes ---
-OFPR_ACTIONyes ---
-OFPR_INVALID_TTL --- ---
-OFPR_ACTION_SET (OF1.4+) yes ---
-OFPR_GROUP (OF1.4+)yes ---
-
- OFPT_FLOW_REMOVED / NXT_FLOW_REMOVED
-OFPRR_IDLE_TIMEOUT yes ---
-OFPRR_HARD_TIMEOUT yes ---
-OFPRR_DELETE yes ---
-OFPRR_GROUP_DELETE (OF1.4+)yes ---
-OFPRR_METER_DELETE (OF1.4+)yes ---
-OFPRR_EVICTION (OF1.4+)yes ---
-
- OFPT_PORT_STATUS
-OFPPR_ADD yes yes
-OFPPR_DELETE yes yes
-OFPPR_MODIFY yes yes
-
- OFPT_ROLE_REQUEST / OFPT_ROLE_REPLY (OF1.4+)
-OFPCRR_MASTER_REQUEST --- ---
-OFPCRR_CONFIG --- ---
-OFPCRR_EXPERIMENTER--- ---
-
- OFPT_TABLE_STATUS (OF1.4+)
-OFPTR_VACANCY_DOWN --- ---
-OFPTR_VACANCY_UP --- ---
-
- OFPT_REQUESTFORWARD (OF1.4+)
-OFPRFR_GROUP_MOD --- ---
-OFPRFR_METER_MOD --- ---
-```
-
-The NXT_SET_ASYNC_CONFIG message directly sets all of the values in
-this table for the current connection. The
-OFPC_INVALID_TTL_TO_CONTROLLER bit in the OFPT_SET_CONFIG message
-controls the setting for OFPR_INVALID_TTL for