diff --git a/FAQ b/FAQ index ce5df270e..1f8c94c09 100644 --- a/FAQ +++ b/FAQ @@ -993,9 +993,6 @@ A: Yes, Open vSwitch makes individual bond interfaces visible as controller is not configured, this happens implicitly to every packet.) - - The "autopath" Nicira extension action. However, "autopath" - is deprecated and scheduled for removal in February 2013. - - Mirrors configured for output to a bonded port. It would make a lot of sense for Open vSwitch to present a bond as diff --git a/NEWS b/NEWS index 58c0fcc26..3a2b5fe39 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ post-v1.10.0 --------------------- - Stable bond mode has been removed. + - The autopath action has been removed. v1.10.0 - xx xxx xxxx diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h index afc2e612e..cb02b1ed5 100644 --- a/include/openflow/nicira-ext.h +++ b/include/openflow/nicira-ext.h @@ -292,7 +292,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__DEPRECATED, /* struct nx_action_autopath */ + NXAST_AUTOPATH__OBSOLETE, /* No longer used. */ NXAST_BUNDLE, /* struct nx_action_bundle */ NXAST_BUNDLE_LOAD, /* struct nx_action_bundle */ NXAST_RESUBMIT_TABLE, /* struct nx_action_resubmit */ @@ -944,50 +944,6 @@ struct nx_action_fin_timeout { }; OFP_ASSERT(sizeof(struct nx_action_fin_timeout) == 16); -/* Action structure for NXAST_AUTOPATH. - * - * This action performs the following steps in sequence: - * - * 1. Hashes the flow using an implementation-defined hash function. - * - * The hashed fields' values are drawn from the current state of the - * flow, including all modifications that have been made by actions up to - * this point. - * - * 2. Selects an OpenFlow 'port'. - * - * 'port' is selected in an implementation-defined manner, taking into - * account 'id' and the hash value calculated in step 1. - * - * Generally a switch will have been configured with a set of ports that - * may be chosen given 'id'. The switch may take into account any number - * of factors when choosing 'port' from its configured set. Factors may - * include carrier, load, and the results of configuration protocols such - * as LACP. - * - * 3. Stores 'port' in dst[ofs:ofs+n_bits]. - * - * The format and semantics of 'dst' and 'ofs_nbits' are similar to those - * for the NXAST_REG_LOAD action. - * - * The switch will reject actions in which ofs+n_bits is greater than the width - * of 'dst', with error type OFPET_BAD_ACTION, code OFPBAC_BAD_ARGUMENT. - */ -struct nx_action_autopath { - ovs_be16 type; /* OFPAT_VENDOR. */ - ovs_be16 len; /* Length is 24. */ - ovs_be32 vendor; /* NX_VENDOR_ID. */ - ovs_be16 subtype; /* NXAST_AUTOPATH. */ - - /* Where to store the result. */ - ovs_be16 ofs_nbits; /* (ofs << 6) | (n_bits - 1). */ - ovs_be32 dst; /* Destination. */ - - ovs_be32 id; /* Autopath ID. */ - ovs_be32 pad; -}; -OFP_ASSERT(sizeof(struct nx_action_autopath) == 24); - /* Action structure for NXAST_BUNDLE and NXAST_BUNDLE_LOAD. * * The bundle actions choose a slave from a supplied list of options. diff --git a/lib/automake.mk b/lib/automake.mk index d333a4d21..ce3edc3dc 100644 --- a/lib/automake.mk +++ b/lib/automake.mk @@ -10,8 +10,6 @@ noinst_LIBRARIES += lib/libopenvswitch.a lib_libopenvswitch_a_SOURCES = \ lib/aes128.c \ lib/aes128.h \ - lib/autopath.c \ - lib/autopath.h \ lib/backtrace.c \ lib/backtrace.h \ lib/bitmap.c \ diff --git a/lib/autopath.c b/lib/autopath.c deleted file mode 100644 index 9da646339..000000000 --- a/lib/autopath.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (c) 2011, 2012 Nicira, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include - -#include "autopath.h" - -#include -#include - -#include "flow.h" -#include "meta-flow.h" -#include "nx-match.h" -#include "ofp-actions.h" -#include "ofp-errors.h" -#include "ofp-util.h" -#include "openflow/nicira-ext.h" -#include "vlog.h" - -VLOG_DEFINE_THIS_MODULE(autopath); - -void -autopath_parse(struct ofpact_autopath *ap, const char *s_) -{ - char *s; - char *id_str, *dst, *save_ptr; - uint16_t port; - - ofpact_init_AUTOPATH(ap); - - s = xstrdup(s_); - save_ptr = NULL; - id_str = strtok_r(s, ", ", &save_ptr); - dst = strtok_r(NULL, ", ", &save_ptr); - - if (!dst) { - ovs_fatal(0, "%s: not enough arguments to autopath action", s_); - } - - if (!ofputil_port_from_string(id_str, &port)) { - ovs_fatal(0, "%s: bad port number", s_); - } - ap->port = port; - - mf_parse_subfield(&ap->dst, dst); - if (ap->dst.n_bits < 16) { - ovs_fatal(0, "%s: %d-bit destination field has %u possible values, " - "less than required 65536", - s_, ap->dst.n_bits, 1u << ap->dst.n_bits); - } - - free(s); -} - -enum ofperr -autopath_from_openflow(const struct nx_action_autopath *nap, - struct ofpact_autopath *autopath) -{ - ofpact_init_AUTOPATH(autopath); - autopath->dst.field = mf_from_nxm_header(ntohl(nap->dst)); - autopath->dst.ofs = nxm_decode_ofs(nap->ofs_nbits); - autopath->dst.n_bits = nxm_decode_n_bits(nap->ofs_nbits); - autopath->port = ntohl(nap->id); - - if (autopath->dst.n_bits < 16) { - VLOG_WARN("at least 16 bit destination is required for autopath " - "action."); - return OFPERR_OFPBAC_BAD_ARGUMENT; - } - - return autopath_check(autopath, NULL); -} - -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); -} - -void -autopath_to_nxast(const struct ofpact_autopath *autopath, - struct ofpbuf *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); - ap->id = htonl(autopath->port); -} diff --git a/lib/autopath.h b/lib/autopath.h deleted file mode 100644 index 337e7d1fb..000000000 --- a/lib/autopath.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2011, 2012 Nicira, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef AUTOPATH_H -#define AUTOPATH_H 1 - -#include -#include "ofp-errors.h" - -struct flow; -struct nx_action_autopath; -struct ofpact_autopath; -struct ofpbuf; - -/* NXAST_AUTOPATH helper functions. - * - * See include/openflow/nicira-ext.h for NXAST_AUTOPATH specification. */ - -void autopath_parse(struct ofpact_autopath *, const char *); - -enum ofperr autopath_from_openflow(const struct nx_action_autopath *, - struct ofpact_autopath *); -enum ofperr autopath_check(const struct ofpact_autopath *, - const struct flow *); -void autopath_to_nxast(const struct ofpact_autopath *, - struct ofpbuf *openflow); - -#endif /* autopath.h */ diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index 8c0585d89..d6fc42931 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c @@ -16,7 +16,6 @@ #include #include "ofp-actions.h" -#include "autopath.h" #include "bundle.h" #include "byte-order.h" #include "compiler.h" @@ -357,11 +356,6 @@ ofpact_from_nxast(const union ofp_action *a, enum ofputil_action_code code, ofpact_put_MULTIPATH(out)); break; - case OFPUTIL_NXAST_AUTOPATH__DEPRECATED: - error = autopath_from_openflow((const struct nx_action_autopath *) a, - ofpact_put_AUTOPATH(out)); - break; - case OFPUTIL_NXAST_BUNDLE: case OFPUTIL_NXAST_BUNDLE_LOAD: error = bundle_from_openflow((const struct nx_action_bundle *) a, out); @@ -1155,9 +1149,6 @@ ofpact_check__(const struct ofpact *a, const struct flow *flow, int max_ports, case OFPACT_MULTIPATH: return multipath_check(ofpact_get_MULTIPATH(a), flow); - case OFPACT_AUTOPATH: - return autopath_check(ofpact_get_AUTOPATH(a), flow); - case OFPACT_NOTE: case OFPACT_EXIT: return 0; @@ -1425,10 +1416,6 @@ ofpact_to_nxast(const struct ofpact *a, struct ofpbuf *out) multipath_to_nxast(ofpact_get_MULTIPATH(a), out); break; - case OFPACT_AUTOPATH: - autopath_to_nxast(ofpact_get_AUTOPATH(a), out); - break; - case OFPACT_NOTE: ofpact_note_to_nxast(ofpact_get_NOTE(a), out); break; @@ -1571,7 +1558,6 @@ ofpact_to_openflow10(const struct ofpact *a, struct ofpbuf *out) case OFPACT_RESUBMIT: case OFPACT_LEARN: case OFPACT_MULTIPATH: - case OFPACT_AUTOPATH: case OFPACT_NOTE: case OFPACT_EXIT: case OFPACT_PUSH_MPLS: @@ -1726,7 +1712,6 @@ ofpact_to_openflow11(const struct ofpact *a, struct ofpbuf *out) case OFPACT_RESUBMIT: case OFPACT_LEARN: case OFPACT_MULTIPATH: - case OFPACT_AUTOPATH: case OFPACT_NOTE: case OFPACT_EXIT: ofpact_to_nxast(a, out); @@ -1849,7 +1834,6 @@ ofpact_outputs_to_port(const struct ofpact *ofpact, uint16_t port) case OFPACT_RESUBMIT: case OFPACT_LEARN: case OFPACT_MULTIPATH: - case OFPACT_AUTOPATH: case OFPACT_NOTE: case OFPACT_EXIT: case OFPACT_PUSH_MPLS: @@ -1942,7 +1926,6 @@ ofpact_format(const struct ofpact *a, struct ds *s) { const struct ofpact_enqueue *enqueue; const struct ofpact_resubmit *resubmit; - const struct ofpact_autopath *autopath; const struct ofpact_controller *controller; const struct ofpact_metadata *metadata; const struct ofpact_tunnel *tunnel; @@ -2112,15 +2095,6 @@ ofpact_format(const struct ofpact *a, struct ds *s) multipath_format(ofpact_get_MULTIPATH(a), s); break; - case OFPACT_AUTOPATH: - autopath = ofpact_get_AUTOPATH(a); - ds_put_cstr(s, "autopath("); - ofputil_format_port(autopath->port, s); - ds_put_char(s, ','); - mf_format_subfield(&autopath->dst, s); - ds_put_char(s, ')'); - break; - case OFPACT_NOTE: print_note(ofpact_get_NOTE(a), s); break; diff --git a/lib/ofp-actions.h b/lib/ofp-actions.h index 2a9463689..c4e1b4a60 100644 --- a/lib/ofp-actions.h +++ b/lib/ofp-actions.h @@ -86,7 +86,6 @@ \ /* Arithmetic. */ \ DEFINE_OFPACT(MULTIPATH, ofpact_multipath, ofpact) \ - DEFINE_OFPACT(AUTOPATH, ofpact_autopath, ofpact) \ \ /* Other. */ \ DEFINE_OFPACT(NOTE, ofpact_note, data) \ @@ -421,15 +420,6 @@ struct ofpact_multipath { struct mf_subfield dst; }; -/* OFPACT_AUTOPATH. - * - * Used for NXAST_AUTOPATH. */ -struct ofpact_autopath { - struct ofpact ofpact; - struct mf_subfield dst; - uint32_t port; -}; - /* OFPACT_NOTE. * * Used for NXAST_NOTE. */ diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c index dd435779d..5fda08a08 100644 --- a/lib/ofp-parse.c +++ b/lib/ofp-parse.c @@ -22,7 +22,6 @@ #include #include -#include "autopath.h" #include "bundle.h" #include "byte-order.h" #include "dynamic-string.h" @@ -526,10 +525,6 @@ parse_named_action(enum ofputil_action_code code, const struct flow *flow, multipath_parse(ofpact_put_MULTIPATH(ofpacts), arg); break; - case OFPUTIL_NXAST_AUTOPATH__DEPRECATED: - autopath_parse(ofpact_put_AUTOPATH(ofpacts), arg); - break; - case OFPUTIL_NXAST_BUNDLE: bundle_parse(arg, ofpacts); break; diff --git a/lib/ofp-util.c b/lib/ofp-util.c index 6d885127c..cd51ef7dd 100644 --- a/lib/ofp-util.c +++ b/lib/ofp-util.c @@ -23,7 +23,6 @@ #include #include #include -#include "autopath.h" #include "bundle.h" #include "byte-order.h" #include "classifier.h" diff --git a/lib/ofp-util.def b/lib/ofp-util.def index 1a60194e1..ff7e1b352 100644 --- a/lib/ofp-util.def +++ b/lib/ofp-util.def @@ -51,7 +51,6 @@ 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__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) diff --git a/lib/ofp-util.h b/lib/ofp-util.h index 77162bf29..8a14f4152 100644 --- a/lib/ofp-util.h +++ b/lib/ofp-util.h @@ -615,7 +615,6 @@ bool ofputil_frag_handling_from_string(const char *, enum ofp_config_flags *); * OFPUTIL_NXAST_NOTE * OFPUTIL_NXAST_SET_TUNNEL64 * OFPUTIL_NXAST_MULTIPATH - * OFPUTIL_NXAST_AUTOPATH * OFPUTIL_NXAST_BUNDLE * OFPUTIL_NXAST_BUNDLE_LOAD * OFPUTIL_NXAST_RESUBMIT_TABLE diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 4668994c9..109e57c00 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -20,7 +20,6 @@ #include -#include "autopath.h" #include "bond.h" #include "bundle.h" #include "byte-order.h" @@ -6169,26 +6168,6 @@ struct xlate_reg_state { ovs_be64 tun_id; }; -static void -xlate_autopath(struct action_xlate_ctx *ctx, - const struct ofpact_autopath *ap) -{ - uint16_t ofp_port = ap->port; - struct ofport_dpif *port = get_ofp_port(ctx->ofproto, ofp_port); - - if (!port || !port->bundle) { - ofp_port = OFPP_NONE; - } else if (port->bundle->bond) { - /* Autopath does not support VLAN hashing. */ - struct ofport_dpif *slave = bond_choose_output_slave( - port->bundle->bond, &ctx->flow, 0, &ctx->tags); - if (slave) { - ofp_port = slave->up.ofp_port; - } - } - nxm_reg_load(&ap->dst, ofp_port, &ctx->flow); -} - static bool slave_enabled_cb(uint16_t ofp_port, void *ofproto_) { @@ -6436,10 +6415,6 @@ do_xlate_actions(const struct ofpact *ofpacts, size_t ofpacts_len, multipath_execute(ofpact_get_MULTIPATH(a), &ctx->flow); break; - case OFPACT_AUTOPATH: - xlate_autopath(ctx, ofpact_get_AUTOPATH(a)); - break; - case OFPACT_BUNDLE: ctx->ofproto->has_bundle_action = true; xlate_bundle_action(ctx, ofpact_get_BUNDLE(a)); diff --git a/tests/automake.mk b/tests/automake.mk index 1ebdf8556..11616941b 100644 --- a/tests/automake.mk +++ b/tests/automake.mk @@ -21,7 +21,6 @@ TESTSUITE_AT = \ tests/ovs-ofctl.at \ tests/odp.at \ tests/multipath.at \ - tests/autopath.at \ tests/lacp.at \ tests/learn.at \ tests/vconn.at \ diff --git a/tests/autopath.at b/tests/autopath.at deleted file mode 100644 index 557c92c17..000000000 --- a/tests/autopath.at +++ /dev/null @@ -1,36 +0,0 @@ -AT_BANNER([autopath link selection]) - -AT_SETUP([autopath basic]) -AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1, NXM_NX_REG0[[]])'], [0], - [usable protocols: any -chosen protocol: OpenFlow10-table_id -OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(1,NXM_NX_REG0[[]]) -], [stderr]) -AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(2, NXM_NX_REG0[[2..30]])'], [0], - [usable protocols: any -chosen protocol: OpenFlow10-table_id -OFPT_FLOW_MOD (xid=0x1): ADD actions=autopath(2,NXM_NX_REG0[[2..30]]) -], [stderr]) -AT_CHECK([[sed 's/^[^|]*|[^|]*|//' stderr]], [0], [dnl -autopath|WARN|The autopath action is deprecated and may be removed in February 2013. Please email dev@openvswitch.org with concerns. -]) -AT_CLEANUP - -AT_SETUP([autopath action missing argument]) -AT_CHECK([ovs-ofctl parse-flow actions=autopath], [1], [], - [ovs-ofctl: : not enough arguments to autopath action -]) -AT_CLEANUP - -AT_SETUP([autopath action bad port]) -AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(bad, NXM_NX_REG0[[]])'], [1], [], - [ovs-ofctl: bad, NXM_NX_REG0[[]]: bad port number -]) -AT_CLEANUP - -AT_SETUP([autopath action destination too narrow]) -AT_CHECK([ovs-ofctl parse-flow 'actions=autopath(1,NXM_NX_REG0[[0..7]])'], [1], [], - [ovs-ofctl: 1,NXM_NX_REG0[[0..7]]: 8-bit destination field has 256 possible values, less than required 65536 -]) -AT_CLEANUP - diff --git a/tests/ofp-actions.at b/tests/ofp-actions.at index aa51e0846..8a40eb4f4 100644 --- a/tests/ofp-actions.at +++ b/tests/ofp-actions.at @@ -78,10 +78,6 @@ ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffff0000ffff0000 # actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[]) ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004 -# actions=autopath(2,NXM_NX_REG0[2..30]) -& autopath|WARN|The autopath action is deprecated and may be removed in February 2013. Please email dev@openvswitch.org with concerns. -ffff 0018 00002320 000b 009c 00010004 00000002 00000000 - # actions=bundle(eth_src,0,hrw,ofport,slaves:4,8) ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 dnl 0004 0008 00000000 @@ -252,10 +248,6 @@ ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff ffff 0010 # actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[]) ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004 -# actions=autopath(2,NXM_NX_REG0[2..30]) -& autopath|WARN|The autopath action is deprecated and may be removed in February 2013. Please email dev@openvswitch.org with concerns. -ffff 0018 00002320 000b 009c 00010004 00000002 00000000 - # actions=bundle(eth_src,0,hrw,ofport,slaves:4,8) ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 dnl 0004 0008 00000000 diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at index ca68226b7..7395fd14e 100644 --- a/tests/ovs-ofctl.at +++ b/tests/ovs-ofctl.at @@ -243,7 +243,6 @@ tun_id=0x1234,cookie=0x5678,actions=flood actions=drop reg0=123,actions=move:NXM_NX_REG0[0..5]->NXM_NX_REG1[26..31],load:55->NXM_NX_REG2[0..31],move:NXM_NX_REG0[0..31]->NXM_NX_TUN_ID[0..31],move:NXM_NX_REG0[0..15]->NXM_OF_VLAN_TCI[] actions=move:OXM_OF_ETH_DST[]->OXM_OF_ETH_SRC[] -actions=autopath(5,NXM_NX_REG0[]) vlan_tci=0x1123/0x1fff,actions=drop ]]) AT_CHECK([ovs-ofctl -F nxm -mmm parse-flows flows.txt], [0], [stdout], [stderr]) @@ -272,12 +271,8 @@ NXT_FLOW_MOD: ADD NXM_NX_TUN_ID(0000000000001234) cookie:0x5678 actions=FLOOD NXT_FLOW_MOD: ADD actions=drop NXT_FLOW_MOD: ADD NXM_NX_REG0(0000007b) actions=move:NXM_NX_REG0[0..5]->NXM_NX_REG1[26..31],load:0x37->NXM_NX_REG2[],move:NXM_NX_REG0[]->NXM_NX_TUN_ID[0..31],move:NXM_NX_REG0[0..15]->NXM_OF_VLAN_TCI[] NXT_FLOW_MOD: ADD actions=move:NXM_OF_ETH_DST[]->NXM_OF_ETH_SRC[] -NXT_FLOW_MOD: ADD actions=autopath(5,NXM_NX_REG0[]) NXT_FLOW_MOD: ADD NXM_OF_VLAN_TCI_W(1123/1fff) actions=drop ]]) -AT_CHECK([[sed 's/^[^|]*|[^|]*|//' stderr]], [0], [dnl -autopath|WARN|The autopath action is deprecated and may be removed in February 2013. Please email dev@openvswitch.org with concerns. -]) AT_CLEANUP AT_SETUP([ovs-ofctl parse-nx-match]) diff --git a/tests/testsuite.at b/tests/testsuite.at index fa80c4dde..97bc24746 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -82,7 +82,6 @@ m4_include([tests/ofp-errors.at]) m4_include([tests/ovs-ofctl.at]) m4_include([tests/odp.at]) m4_include([tests/multipath.at]) -m4_include([tests/autopath.at]) m4_include([tests/learn.at]) m4_include([tests/vconn.at]) m4_include([tests/file_name.at]) diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index c865bbc1c..6589eff07 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -1074,21 +1074,6 @@ the \fBiter_hash\fR algorithm uses \fIarg\fR. .IP 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. -.IP -Currently, \fIid\fR should be the OpenFlow port number of an interface on the -bridge. If it isn't then \fIdst\fB[\fIstart\fB..\fIend\fB]\fR will be -populated with the OpenFlow port "none". If \fIid\fR is a member of a bond, -the normal bond selection logic will be used to choose the destination port. -Otherwise, the register will be populated with \fIid\fR itself. -.IP -Refer to \fBnicira\-ext.h\fR for more details. -. .IP "\fBbundle(\fIfields\fB, \fIbasis\fB, \fIalgorithm\fB, \fIslave_type\fB, slaves:[\fIs1\fB, \fIs2\fB, ...])\fR" Hashes \fIfields\fR using \fIbasis\fR as a universal hash parameter, then applies the bundle link selection \fIalgorithm\fR to choose one of the listed