nicira-ext: Deprecate the autopath action.
authorEthan Jackson <ethan@nicira.com>
Sat, 18 Aug 2012 02:14:02 +0000 (19:14 -0700)
committerEthan Jackson <ethan@nicira.com>
Wed, 29 Aug 2012 01:27:05 +0000 (18:27 -0700)
The autopath action is an obsolete attempt to replicate
functionality contained in the bundle action.  It is ugly and of
questionable usefulness.  This patch deprecates it and schedules
its removal for February 2013.  If there are concerns, please email
dev@openvswitch.org.

Signed-off-by: Ethan Jackson <ethan@nicira.com>
NEWS
include/openflow/nicira-ext.h
lib/autopath.c
lib/ofp-actions.c
lib/ofp-parse.c
lib/ofp-util.def
utilities/ovs-ofctl.8.in

diff --git a/NEWS b/NEWS
index ac12b5df05d59918f66588aeba6e1e3742be8246..45e11764c1b7a84cbb23534027611019189f05a2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,8 @@ post-v1.8.0
       program was not included in distribution packaging.)
     - Stable bond mode is deprecated and will be removed no earlier than
       February 2013.  Please email dev@openvswitch.org with concerns.
+    - The autopath action is deprecated and will be removed no earlier than
+      February 2013.  Please email dev@openvswitch.org with concerns.
 
 
 v1.8.0 - xx xxx xxxx
index 2b852b6c42f9b419df97a1f13d9ce2a15b966fc3..75bf6db3a0de51293d7159ce54b6ee5f9e4c7df9 100644 (file)
@@ -293,7 +293,7 @@ enum nx_action_subtype {
     NXAST_NOTE,                 /* struct nx_action_note */
     NXAST_SET_TUNNEL64,         /* struct nx_action_set_tunnel64 */
     NXAST_MULTIPATH,            /* struct nx_action_multipath */
-    NXAST_AUTOPATH,             /* struct nx_action_autopath */
+    NXAST_AUTOPATH__DEPRECATED, /* struct nx_action_autopath */
     NXAST_BUNDLE,               /* struct nx_action_bundle */
     NXAST_BUNDLE_LOAD,          /* struct nx_action_bundle */
     NXAST_RESUBMIT_TABLE,       /* struct nx_action_resubmit */
index 93fedd1a64526abaf4999dacfc325efb68e0b2ad..ae8007dee0f82c45204dd04caaa06400313647e4 100644 (file)
@@ -89,6 +89,9 @@ autopath_from_openflow(const struct nx_action_autopath *nap,
 enum ofperr
 autopath_check(const struct ofpact_autopath *autopath, const struct flow *flow)
 {
+    VLOG_WARN_ONCE("The autopath action is deprecated and may be removed in"
+                   " February 2013.  Please email dev@openvswitch.org with"
+                   " concerns.");
     return mf_check_dst(&autopath->dst, flow);
 }
 
@@ -96,8 +99,9 @@ void
 autopath_to_nxast(const struct ofpact_autopath *autopath,
                   struct ofpbuf *openflow)
 {
-    struct nx_action_autopath *ap = ofputil_put_NXAST_AUTOPATH(openflow);
+    struct nx_action_autopath *ap;
 
+    ap = ofputil_put_NXAST_AUTOPATH__DEPRECATED(openflow);
     ap->ofs_nbits = nxm_encode_ofs_nbits(autopath->dst.ofs,
                                          autopath->dst.n_bits);
     ap->dst = htonl(autopath->dst.field->nxm_header);
index baa6fdd7f5c27578b74f9cfc8a243eac6a541b13..898455ebeae1f6721dd299a53814640f314eb2d2 100644 (file)
@@ -333,7 +333,7 @@ ofpact_from_nxast(const union ofp_action *a, enum ofputil_action_code code,
                                         ofpact_put_MULTIPATH(out));
         break;
 
-    case OFPUTIL_NXAST_AUTOPATH:
+    case OFPUTIL_NXAST_AUTOPATH__DEPRECATED:
         error = autopath_from_openflow((const struct nx_action_autopath *) a,
                                        ofpact_put_AUTOPATH(out));
         break;
index e5f5ea03adea611f1ee570ae5bfe60f1b088e95b..0d904b1ed02fa8a01f162f33834324bc891b266b 100644 (file)
@@ -434,7 +434,7 @@ parse_named_action(enum ofputil_action_code code, const struct flow *flow,
         multipath_parse(ofpact_put_MULTIPATH(ofpacts), arg);
         break;
 
-    case OFPUTIL_NXAST_AUTOPATH:
+    case OFPUTIL_NXAST_AUTOPATH__DEPRECATED:
         autopath_parse(ofpact_put_AUTOPATH(ofpacts), arg);
         break;
 
index 619bb88cdf519de86902d1d9493d62956a80f861..391c14bfaed6fa7dd2f856723b2c30952fd5a1cf 100644 (file)
@@ -48,7 +48,7 @@ NXAST_ACTION(NXAST_REG_LOAD,        nx_action_reg_load,     0, "load")
 NXAST_ACTION(NXAST_NOTE,            nx_action_note,         1, "note")
 NXAST_ACTION(NXAST_SET_TUNNEL64,    nx_action_set_tunnel64, 0, "set_tunnel64")
 NXAST_ACTION(NXAST_MULTIPATH,       nx_action_multipath,    0, "multipath")
-NXAST_ACTION(NXAST_AUTOPATH,        nx_action_autopath,     0, "autopath")
+NXAST_ACTION(NXAST_AUTOPATH__DEPRECATED,nx_action_autopath, 0, "autopath")
 NXAST_ACTION(NXAST_BUNDLE,          nx_action_bundle,       1, "bundle")
 NXAST_ACTION(NXAST_BUNDLE_LOAD,     nx_action_bundle,       1, "bundle_load")
 NXAST_ACTION(NXAST_RESUBMIT_TABLE,  nx_action_resubmit,     0, NULL)
index 386f7c8a9847664074fd023712fa6f2eab30df46..aad93259b46891a975ac5861b0eff0c1e91a5f78 100644 (file)
@@ -1013,6 +1013,8 @@ the \fBiter_hash\fR algorithm uses \fIarg\fR.
 Refer to \fBnicira\-ext.h\fR for more details.
 .
 .IP "\fBautopath(\fIid\fB, \fIdst\fB[\fIstart\fB..\fIend\fB])\fR"
+Deprecated and slated for removal in Feburary 2013.
+.IP
 Given \fIid\fR, chooses an OpenFlow port and populates it in
 \fIdst\fB[\fIstart\fB..\fIend\fB]\fR, which must be an NXM field as
 described above.