Merge branch 'mainstream'
[sliver-openvswitch.git] / OPENFLOW-1.1+
index 7a75c44..f978cb5 100644 (file)
@@ -54,9 +54,6 @@ OpenFlow 1.1
 The list of remaining work items for OpenFlow 1.1 is below.  It is
 probably incomplete.
 
-    * Implement Write-Actions instruction.
-      [required for 1.1+]
-
     * The new in_phy_port field in OFPT_PACKET_IN needs some kind of
       implementation.  It has a sensible interpretation for tunnels
       but in general the physical port is not in the datapath for OVS
@@ -81,23 +78,6 @@ probably incomplete.
       reasonable performance.
       [required for OF1.1+]
 
-    * Groups.
-
-        * Type all
-          [required for OF1.1+]
-
-        * Type select
-          [optional for OF1.1+]
-
-        * Type indirect
-          [required for OF1.1+]
-
-        * Type fast failover
-          [optional for OF1.1+]
-
-        * Statistics
-          [optional for OF1.1+]
-
 OpenFlow 1.2
 ------------
 
@@ -106,6 +86,11 @@ additional work specific to Openflow 1.2 are complete.  (This is based
 on the change log at the end of the OF1.2 spec.  I didn't compare the
 specs carefully yet.)
 
+    * Action translation needs some work to transform OpenFlow 1.1
+      field modification actions into OpenFlow 1.2+ "set-field"
+      actions, because OpenFlow 1.2 dropped support for the OF1.1
+      actions.
+
 OpenFlow 1.3
 ------------
 
@@ -114,16 +99,18 @@ following additional work.  (This is based on the change log at the
 end of the OF1.3 spec, reusing most of the section titles directly.  I
 didn't compare the specs carefully yet.)
 
-    * Send errors for unsupported multipart requests.
-      [required for OF1.3+]
-
     * Add support for multipart requests.
+      Currently we always report OFPBRC_MULTIPART_BUFFER_OVERFLOW.
       [optional for OF1.3+]
 
     * Add OFPMP_TABLE_FEATURES statistics.
       [optional for OF1.3+]
 
     * More flexible table miss support.
+      This requires the following.
+      - Change the default table-miss action (in the absense of table-miss
+        entry) from packet_in to drop for OF1.3+.  Decide what to do if
+        a switch is configured to support multiple OF versions.
       [required for OF1.3+]
 
     * IPv6 extension header handling support.  Fully implementing this
@@ -168,6 +155,95 @@ didn't compare the specs carefully yet.)
       optimization in some cases for the software switch.
       [optional for OF1.3+]
 
+ONF OpenFlow Exensions for 1.3.X Pack1
+--------------------------------------
+
+OpenFlow 1.3 has a bunch of ONF extentions.
+Many of them are necessary for OpenFlow 1.4 as well.
+
+    * Flow entry notifications
+      This seems to be modelled after OVS's NXST_FLOW_MONITOR.
+      [EXT-187]
+      [required for OF1.4+]
+
+    * Role Status
+      [EXT-191]
+      [required for OF1.4+]
+
+    * Flow entry eviction
+      OVS has flow eviction functionality.
+      table_mod OFPTC_EVICTION, flow_mod 'importance', and
+      table_desc ofp_table_mod_prop_eviction need to be implemented.
+      [EXT-192-e]
+      [optional for OF1.4+]
+
+    * Vacancy events
+      [EXT-192-v]
+      [optional for OF1.4+]
+
+    * Bundle
+      Transactional modification.  OpenFlow 1.4 requires to support
+      flow_mods and port_mods in a bundle.
+      (Not related to OVS's 'ofbundle' stuff.)
+      [EXT-230]
+      [required for OF1.4+]
+
+    * Table synchronisation
+      [EXT-232]
+      [optional for OF1.4+]
+
+    * Group notifications
+      [EXT-235]
+      [optional for OF1.4+]
+
+    * Bad flow entry priority error
+      Probably not so useful to the software switch.
+      [EXT-236]
+      [optional for OF1.4+]
+
+    * Set async config error
+      [EXT-237]
+      [optional for OF1.4+]
+
+    * PBB UCA header field
+      [EXT-256]
+      [optional for OF1.4+]
+
+    * Duplicate instruction error
+      We already have ONFBIC_DUP_INSTRUCTION.
+      [EXT-260]
+      [required for OF1.4+]
+
+    * Multipart timeout error
+      [EXT-264]
+      [required for OF1.4+]
+
+OpenFlow 1.4
+------------
+
+    * More extensible wire protocol
+      Many on-wire structures got TLVs.
+      [EXT-262]
+      [required for OF1.4+]
+
+    * More descriptive reasons for packet-in
+      Distinguish OFPR_APPLY_ACTION, OFPR_ACTION_SET, OFPR_GROUP,
+      OFPR_PACKET_OUT.  NO_MATCH was renamed to OFPR_TABLE_MISS.
+      [EXT-136]
+      [required for OF1.4+]
+
+    * Optical port properties
+      [EXT-154]
+      [optional for OF1.4+]
+
+    * Flow-removed reason for meter delete
+      Report flow removal due to meter deletion with OFPRR_METER_DELETE.
+      [EXT-261]
+      [optional for OF1.4+]
+
+    * Meter notifications
+      [EXT-235]
+      [optional for OF1.4+]
 
 How to contribute
 -----------------