X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=OPENFLOW-1.1%2B;h=01adf7267a83202c02c6bd1be284ae4ae6e0debf;hb=1eda776120c4884d55f6ea75313bc49f52a41f1c;hp=f978cb55ede64a65848f73a0e63f4fb779d3105e;hpb=36d29fc41b9cf524fc5f19f2c9da983ca4b7e834;p=cascardo%2Fovs.git diff --git a/OPENFLOW-1.1+ b/OPENFLOW-1.1+ index f978cb55e..01adf7267 100644 --- a/OPENFLOW-1.1+ +++ b/OPENFLOW-1.1+ @@ -1,7 +1,7 @@ OpenFlow 1.1+ support in Open vSwitch ===================================== -Open vSwitch support for OpenFlow 1.1, 1.2, and 1.3 is a work in +Open vSwitch support for OpenFlow 1.1 and beyond is a work in progress. This file describes the work still to be done. The Plan @@ -54,22 +54,6 @@ OpenFlow 1.1 The list of remaining work items for OpenFlow 1.1 is below. It is probably incomplete. - * 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 - so the value is not necessarily meaningful. We might have to - just fix it as the same as in_port. - [required for OF1.1; optional for OF1.2+] - - * OFPT_TABLE_MOD message. This is new in OF1.1, so we need to - implement it. It should be implemented so that the default OVS - behavior does not change. - [required for OF1.1 and OF1.2] - - * MPLS. Simon Horman maintains a patch series that adds this - feature. This is partially merged. - [optional for OF1.1+] - * Match and set double-tagged VLANs (QinQ). This requires kernel work for reasonable performance. [optional for OF1.1+] @@ -86,11 +70,6 @@ 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 ------------ @@ -103,34 +82,17 @@ didn't compare the specs carefully yet.) 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 requires kernel support. This likely will take some careful and probably time-consuming design work. The actual coding, once that is all done, is probably 2 or 3 days work. [optional for OF1.3+] - * Per-flow meters. Similar to IPv6 extension headers in kernel - and design requirements. Might be politically difficult to add - directly to the kernel module, since its functionality overlaps - with tc. Ideally, therefore, we could implement these somehow - with tc, but I haven't investigated whether that makes sense. + * Per-flow meters. OpenFlow protocol support is now implemented. + Support for the special OFPM_SLOWPATH and OFPM_CONTROLLER meters + is missing. Support for the software switch is under review. [optional for OF1.3+] - * Per-connection event filtering. OF1.3 adopted Open vSwitch's - existing design for this feature so implementation should be - easy. - [required for OF1.3+] - * Auxiliary connections. An implementation in generic code might be a week's worth of work. The value of an implementation in generic code is questionable, though, since much of the benefit @@ -140,17 +102,10 @@ didn't compare the specs carefully yet.) some kind of "hardware" support, if we judged it useful enough.) [optional for OF1.3+] - * MPLS BoS matching. (Included in Simon's MPLS series?) - [optional for OF1.3+] - * Provider Backbone Bridge tagging. I don't plan to implement this (but we'd accept an implementation). [optional for OF1.3+] - * Rework tag order. I'm not sure whether we need to do anything - for this. Part of MPLS patchset by Simon Horman. - [required for v1.3+] - * On-demand flow counters. I think this might be a real optimization in some cases for the software switch. [optional for OF1.3+] @@ -163,6 +118,7 @@ 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. + (Simon Horman is working on this.) [EXT-187] [required for OF1.4+] @@ -209,11 +165,6 @@ Many of them are necessary for OpenFlow 1.4 as well. [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+] @@ -236,15 +187,16 @@ OpenFlow 1.4 [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+] +General +----- + + * ovs-ofctl(8) often lists as Nicira extensions features that + later OpenFlow versions support in standard ways. + How to contribute ----------------- @@ -269,7 +221,7 @@ Please consider the following: * Coding style (see the CodingStyle file at the top of the source tree). - * The patch submission guidelines (see SubmittingPatches). I + * The patch submission guidelines (see CONTRIBUTING). I recommend using "git send-email", which automatically follows a lot of those guidelines.