summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/faq/openflow.rst26
-rw-r--r--NEWS2
-rwxr-xr-xbuild-aux/extract-ofp-errors3
-rwxr-xr-xbuild-aux/extract-ofp-msgs3
-rw-r--r--include/openflow/automake.mk1
-rw-r--r--include/openflow/openflow-1.0.h7
-rw-r--r--include/openflow/openflow-1.1.h2
-rw-r--r--include/openflow/openflow-1.4.h2
-rw-r--r--include/openflow/openflow-1.6.h91
-rw-r--r--include/openflow/openflow-common.h4
-rw-r--r--include/openflow/openflow.h1
-rw-r--r--include/openvswitch/ofp-errors.h4
-rw-r--r--include/openvswitch/ofp-msgs.h14
-rw-r--r--include/openvswitch/ofp-port.h12
-rw-r--r--include/openvswitch/ofp-protocol.h7
-rw-r--r--lib/meta-flow.xml4
-rw-r--r--lib/ofp-actions.c1
-rw-r--r--lib/ofp-bundle.c1
-rw-r--r--lib/ofp-errors.c2
-rw-r--r--lib/ofp-flow.c6
-rw-r--r--lib/ofp-group.c10
-rw-r--r--lib/ofp-match.c2
-rw-r--r--lib/ofp-monitor.c3
-rw-r--r--lib/ofp-msgs.c5
-rw-r--r--lib/ofp-packet.c4
-rw-r--r--lib/ofp-port.c114
-rw-r--r--lib/ofp-print.c3
-rw-r--r--lib/ofp-protocol.c20
-rw-r--r--lib/ofp-queue.c7
-rw-r--r--lib/ofp-switch.c3
-rw-r--r--lib/ofp-table.c7
-rw-r--r--lib/ofp-util.c1
-rw-r--r--lib/ofp-version.man4
-rw-r--r--ofproto/ofproto-dpif-xlate.c2
-rw-r--r--ofproto/ofproto-dpif.c6
-rw-r--r--ofproto/ofproto.c5
-rw-r--r--tests/ofp-errors.at2
-rw-r--r--tests/ofp-print.at41
-rw-r--r--tests/ofproto-macros.at3
-rw-r--r--tests/ofproto.at155
-rw-r--r--tests/ovs-ofctl.at18
-rw-r--r--utilities/ovs-ofctl.8.in5
-rw-r--r--utilities/ovs-ofctl.c4
-rw-r--r--vswitchd/vswitch.ovsschema7
-rw-r--r--vswitchd/vswitch.xml5
45 files changed, 112 insertions, 517 deletions
diff --git a/Documentation/faq/openflow.rst b/Documentation/faq/openflow.rst
index f722f9e78..4a20255da 100644
--- a/Documentation/faq/openflow.rst
+++ b/Documentation/faq/openflow.rst
@@ -30,17 +30,17 @@ Q: What versions of OpenFlow does Open vSwitch support?
A: The following table lists the versions of OpenFlow supported by each
version of Open vSwitch:
- =============== ===== ===== ===== ===== ===== ===== =====
- Open vSwitch OF1.0 OF1.1 OF1.2 OF1.3 OF1.4 OF1.5 OF1.6
- =============== ===== ===== ===== ===== ===== ===== =====
- 1.9 and earlier yes --- --- --- --- --- ---
- 1.10, 1.11 yes --- (*) (*) --- --- ---
- 2.0, 2.1 yes (*) (*) (*) --- --- ---
- 2.2 yes (*) (*) (*) (%) (*) ---
- 2.3, 2.4 yes yes yes yes (*) (*) ---
- 2.5, 2.6, 2.7 yes yes yes yes (*) (*) (*)
- 2.8 yes yes yes yes yes (*) (*)
- =============== ===== ===== ===== ===== ===== ===== =====
+ =============== ===== ===== ===== ===== ===== =====
+ Open vSwitch OF1.0 OF1.1 OF1.2 OF1.3 OF1.4 OF1.5
+ =============== ===== ===== ===== ===== ===== =====
+ 1.9 and earlier yes --- --- --- --- ---
+ 1.10, 1.11 yes --- (*) (*) --- ---
+ 2.0, 2.1 yes (*) (*) (*) --- ---
+ 2.2 yes (*) (*) (*) (%) (*)
+ 2.3, 2.4 yes yes yes yes (*) (*)
+ 2.5, 2.6, 2.7 yes yes yes yes (*) (*)
+ 2.8 yes yes yes yes yes (*)
+ =============== ===== ===== ===== ===== ===== =====
--- Not supported.
yes Supported and enabled by default
@@ -73,8 +73,8 @@ Q: What versions of OpenFlow does Open vSwitch support?
could cause crashes. We don't recommend enabling it.)
:doc:`/topics/openflow` tracks support for OpenFlow 1.1 and later features.
- When support for OpenFlow 1.5 and 1.6 is solidly implemented, Open vSwitch
- will enable those version by default.
+ When support for OpenFlow 1.5 is solidly implemented, Open vSwitch will
+ enable it by default.
Q: Does Open vSwitch support MPLS?
diff --git a/NEWS b/NEWS
index ecca19cc7..ccc0bfb0e 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ Post-v2.11.0
- DPDK:
* New option 'other_config:dpdk-socket-limit' to limit amount of
hugepage memory that can be used by DPDK.
+ - OpenFlow:
+ * Removed support for OpenFlow 1.6 (draft), which ONF abandoned.
- Userspace datapath:
* ICMPv6 ND enhancements: support for match and set ND options type
and reserved fields.
diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
index 6f64efd20..03f40ea3e 100755
--- a/build-aux/extract-ofp-errors
+++ b/build-aux/extract-ofp-errors
@@ -12,8 +12,7 @@ version_map = {"1.0": 0x01,
"1.2": 0x03,
"1.3": 0x04,
"1.4": 0x05,
- "1.5": 0x06,
- "1.6": 0x07}
+ "1.5": 0x06}
version_reverse_map = dict((v, k) for (k, v) in version_map.items())
token = None
diff --git a/build-aux/extract-ofp-msgs b/build-aux/extract-ofp-msgs
index a67e87003..3d50724ae 100755
--- a/build-aux/extract-ofp-msgs
+++ b/build-aux/extract-ofp-msgs
@@ -12,8 +12,7 @@ VERSION = {"1.0": 0x01,
"1.2": 0x03,
"1.3": 0x04,
"1.4": 0x05,
- "1.5": 0x06,
- "1.6": 0x07}
+ "1.5": 0x06}
NX_VENDOR_ID = 0x00002320
ONF_VENDOR_ID = 0x4f4e4600
diff --git a/include/openflow/automake.mk b/include/openflow/automake.mk
index 9755e7c03..18cc64989 100644
--- a/include/openflow/automake.mk
+++ b/include/openflow/automake.mk
@@ -9,7 +9,6 @@ openflowinclude_HEADERS = \
include/openflow/openflow-1.3.h \
include/openflow/openflow-1.4.h \
include/openflow/openflow-1.5.h \
- include/openflow/openflow-1.6.h \
include/openflow/openflow-common.h \
include/openflow/openflow.h
diff --git a/include/openflow/openflow-1.0.h b/include/openflow/openflow-1.0.h
index ad06610da..68c79526e 100644
--- a/include/openflow/openflow-1.0.h
+++ b/include/openflow/openflow-1.0.h
@@ -21,11 +21,6 @@
#include <openflow/openflow-common.h>
-/* Maximum name of a port.
- *
- * OpenFlow 1.6 (draft) increases this to 64. */
-#define OFP10_MAX_PORT_NAME_LEN 16
-
/* Port number(s) meaning
* --------------- --------------------------------------
* 0x0000 not assigned a meaning by OpenFlow 1.0
@@ -102,7 +97,7 @@ enum ofp10_port_features {
struct ofp10_phy_port {
ovs_be16 port_no;
struct eth_addr hw_addr;
- char name[OFP10_MAX_PORT_NAME_LEN]; /* Null-terminated */
+ char name[OFP_MAX_PORT_NAME_LEN]; /* Null-terminated */
ovs_be32 config; /* Bitmap of OFPPC_* and OFPPC10_* flags. */
ovs_be32 state; /* Bitmap of OFPPS_* and OFPPS10_* flags. */
diff --git a/include/openflow/openflow-1.1.h b/include/openflow/openflow-1.1.h
index a29db8f3e..52e96fdbc 100644
--- a/include/openflow/openflow-1.1.h
+++ b/include/openflow/openflow-1.1.h
@@ -113,7 +113,7 @@ struct ofp11_port {
uint8_t pad[4];
struct eth_addr hw_addr;
uint8_t pad2[2]; /* Align to 64 bits. */
- char name[OFP10_MAX_PORT_NAME_LEN]; /* Null-terminated */
+ char name[OFP_MAX_PORT_NAME_LEN]; /* Null-terminated */
ovs_be32 config; /* Bitmap of OFPPC_* flags. */
ovs_be32 state; /* Bitmap of OFPPS_* and OFPPS11_* flags. */
diff --git a/include/openflow/openflow-1.4.h b/include/openflow/openflow-1.4.h
index 9399950b2..2bfa16b63 100644
--- a/include/openflow/openflow-1.4.h
+++ b/include/openflow/openflow-1.4.h
@@ -80,7 +80,7 @@ struct ofp14_port {
uint8_t pad[2];
struct eth_addr hw_addr;
uint8_t pad2[2]; /* Align to 64 bits. */
- char name[OFP10_MAX_PORT_NAME_LEN]; /* Null-terminated */
+ char name[OFP_MAX_PORT_NAME_LEN]; /* Null-terminated */
ovs_be32 config; /* Bitmap of OFPPC_* flags. */
ovs_be32 state; /* Bitmap of OFPPS_* flags. */
diff --git a/include/openflow/openflow-1.6.h b/include/openflow/openflow-1.6.h
deleted file mode 100644
index 13c0b7bd5..000000000
--- a/include/openflow/openflow-1.6.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (c) 2008 The Board of Trustees of The Leland Stanford
- * Junior University
- * Copyright (c) 2011, 2013, 2014 Open Networking Foundation
- *
- * We are making the OpenFlow specification and associated documentation
- * (Software) available for public use and benefit with the expectation
- * that others will use, modify and enhance the Software and contribute
- * those enhancements back to the community. However, since we would
- * like to make the Software available for broadest use, with as few
- * restrictions as possible permission is hereby granted, free of
- * charge, to any person obtaining a copy of this Software to deal in
- * the Software under the copyrights without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * The name and trademarks of copyright holder(s) may NOT be used in
- * advertising or publicity pertaining to the Software or any
- * derivatives without specific, written prior permission.
- */
-
-/*
- * Copyright (c) 2017 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 OPENFLOW_16_H
-#define OPENFLOW_16_H 1
-
-#include <openflow/openflow-common.h>
-
-#define OFP16_MAX_PORT_NAME_LEN 64
-
-struct ofp16_port {
- ovs_be32 port_no;
- ovs_be16 length;
- uint8_t pad[2]; /* Align to 64 bits. */
- struct eth_addr hw_addr; /* EUI-48 hardware address. */
- uint8_t pad2[2]; /* Align to 64 bits. */
- struct eth_addr64 hw_addr64; /* EUI-64 hardware address */
- char name[OFP16_MAX_PORT_NAME_LEN]; /* Null-terminated */
-
- ovs_be32 config; /* Bitmap of OFPPC_* flags. */
- ovs_be32 state; /* Bitmap of OFPPS_* flags. */
-
- /* Followed by 0 or more OFPPDPT14_* properties. (OpenFlow 1.6 (draft)
- * defines the same properties as OpenFlow 1.4.) */
-};
-OFP_ASSERT(sizeof(struct ofp16_port) == 96);
-
-struct ofp16_port_mod {
- ovs_be32 port_no;
- uint8_t pad[4]; /* Align to 64 bits. */
- struct eth_addr hw_addr;
- uint8_t pad2[2];
- struct eth_addr64 hw_addr64; /* EUI-64 hardware address */
-
- ovs_be32 config; /* Bitmap of OFPPC_* flags. */
- ovs_be32 mask; /* Bitmap of OFPPC_* flags to be changed. */
-
- /* Followed by 0 or more OFPPMPT14_* properties. (OpenFlow 1.6 (draft)
- * defines the same properties as OpenFlow 1.4.) */
-};
-OFP_ASSERT(sizeof(struct ofp16_port_mod) == 32);
-
-
-#endif /* openflow/openflow-1.6.h */
diff --git a/include/openflow/openflow-common.h b/include/openflow/openflow-common.h
index ea6bb41bc..584f20ec1 100644
--- a/include/openflow/openflow-common.h
+++ b/include/openflow/openflow-common.h
@@ -79,8 +79,7 @@ enum ofp_version {
OFP12_VERSION = 0x03,
OFP13_VERSION = 0x04,
OFP14_VERSION = 0x05,
- OFP15_VERSION = 0x06,
- OFP16_VERSION = 0x07
+ OFP15_VERSION = 0x06
};
/* Vendor (aka experimenter) IDs.
@@ -113,6 +112,7 @@ enum ofp_version {
#define INTEL_VENDOR_ID 0x0000AA01 /* Intel */
#define OFP_MAX_TABLE_NAME_LEN 32
+#define OFP_MAX_PORT_NAME_LEN 16
#define OFP_OLD_PORT 6633
#define OFP_PORT 6653
diff --git a/include/openflow/openflow.h b/include/openflow/openflow.h
index fececb563..918613d07 100644
--- a/include/openflow/openflow.h
+++ b/include/openflow/openflow.h
@@ -23,6 +23,5 @@
#include <openflow/openflow-1.3.h>
#include <openflow/openflow-1.4.h>
#include <openflow/openflow-1.5.h>
-#include <openflow/openflow-1.6.h>
#endif /* openflow/openflow.h */
diff --git a/include/openvswitch/ofp-errors.h b/include/openvswitch/ofp-errors.h
index 2f00851f1..a3f8142df 100644
--- a/include/openvswitch/ofp-errors.h
+++ b/include/openvswitch/ofp-errors.h
@@ -803,8 +803,8 @@ enum ofperr {
/* OF1.5+(17,18). Scheduled commit time exceeds lower bound. */
OFPERR_OFPBFC_SCHED_PAST,
- /* NX1.4-1.5(22), OF1.6+(17,19). In an OFPT_BUNDLE_ADD_MESSAGE, the
- * OpenFlow version in the inner and outer messages differ. */
+ /* NX1.4-1.5(22). In an OFPT_BUNDLE_ADD_MESSAGE, the OpenFlow version in
+ * the inner and outer messages differ. */
OFPERR_OFPBFC_BAD_VERSION,
/* ## ------------------------- ## */
diff --git a/include/openvswitch/ofp-msgs.h b/include/openvswitch/ofp-msgs.h
index ecdb547de..8457bc7d0 100644
--- a/include/openvswitch/ofp-msgs.h
+++ b/include/openvswitch/ofp-msgs.h
@@ -177,10 +177,8 @@ enum ofpraw {
OFPRAW_OFPT10_PORT_STATUS,
/* OFPT 1.1-1.3 (12): struct ofp_port_status, struct ofp11_port. */
OFPRAW_OFPT11_PORT_STATUS,
- /* OFPT 1.4-1.5 (12): struct ofp_port_status, struct ofp14_port, uint8_t[8][]. */
+ /* OFPT 1.4+ (12): struct ofp_port_status, struct ofp14_port, uint8_t[8][]. */
OFPRAW_OFPT14_PORT_STATUS,
- /* OFPT 1.6+ (12): struct ofp_port_status, struct ofp16_port, uint8_t[8][]. */
- OFPRAW_OFPT16_PORT_STATUS,
/* OFPT 1.0 (13): struct ofp10_packet_out, uint8_t[]. */
OFPRAW_OFPT10_PACKET_OUT,
@@ -207,10 +205,8 @@ enum ofpraw {
OFPRAW_OFPT10_PORT_MOD,
/* OFPT 1.1-1.3 (16): struct ofp11_port_mod. */
OFPRAW_OFPT11_PORT_MOD,
- /* OFPT 1.4-1.5 (16): struct ofp14_port_mod, uint8_t[8][]. */
+ /* OFPT 1.4+ (16): struct ofp14_port_mod, uint8_t[8][]. */
OFPRAW_OFPT14_PORT_MOD,
- /* OFPT 1.6+ (16): struct ofp16_port_mod, uint8_t[8][]. */
- OFPRAW_OFPT16_PORT_MOD,
/* OFPT 1.1-1.3 (17): struct ofp11_table_mod. */
OFPRAW_OFPT11_TABLE_MOD,
@@ -592,8 +588,7 @@ enum ofptype {
* OFPRAW_NXT_FLOW_REMOVED. */
OFPTYPE_PORT_STATUS, /* OFPRAW_OFPT10_PORT_STATUS.
* OFPRAW_OFPT11_PORT_STATUS.
- * OFPRAW_OFPT14_PORT_STATUS.
- * OFPRAW_OFPT16_PORT_STATUS. */
+ * OFPRAW_OFPT14_PORT_STATUS. */
/* Controller command messages. */
OFPTYPE_PACKET_OUT, /* OFPRAW_OFPT10_PACKET_OUT.
@@ -607,8 +602,7 @@ enum ofptype {
* OFPRAW_OFPT15_GROUP_MOD. */
OFPTYPE_PORT_MOD, /* OFPRAW_OFPT10_PORT_MOD.
* OFPRAW_OFPT11_PORT_MOD.
- * OFPRAW_OFPT14_PORT_MOD.
- * OFPRAW_OFPT16_PORT_MOD. */
+ * OFPRAW_OFPT14_PORT_MOD. */
OFPTYPE_TABLE_MOD, /* OFPRAW_OFPT11_TABLE_MOD.
* OFPRAW_OFPT14_TABLE_MOD. */
diff --git a/include/openvswitch/ofp-port.h b/include/openvswitch/ofp-port.h
index f1f36bf9c..559770aaa 100644
--- a/include/openvswitch/ofp-port.h
+++ b/include/openvswitch/ofp-port.h
@@ -90,19 +90,12 @@ enum ofputil_port_state {
void ofputil_port_state_format(struct ds *, enum ofputil_port_state);
-/* Abstract ofp10_phy_port, ofp11_port, ofp14_port, or ofp16_port. */
+/* Abstract ofp10_phy_port, ofp11_port, or ofp14_port. */
struct ofputil_phy_port {
ofp_port_t port_no;
- /* Hardware addresses.
- *
- * Most hardware has a normal 48-bit Ethernet address, in hw_addr.
- * Some hardware might have a 64-bit address in hw_addr64.
- * All-bits-0 indicates that a given address is not present. */
struct eth_addr hw_addr;
- struct eth_addr64 hw_addr64;
-
- char name[OFP16_MAX_PORT_NAME_LEN]; /* 64 bytes in OF1.6+, 16 otherwise. */
+ char name[OFP_MAX_PORT_NAME_LEN]; /* 16 bytes. */
enum ofputil_port_config config;
enum ofputil_port_state state;
@@ -142,7 +135,6 @@ void ofputil_port_status_format(struct ds *,
struct ofputil_port_mod {
ofp_port_t port_no;
struct eth_addr hw_addr;
- struct eth_addr64 hw_addr64;
enum ofputil_port_config config;
enum ofputil_port_config mask;
enum netdev_features advertise;
diff --git a/include/openvswitch/ofp-protocol.h b/include/openvswitch/ofp-protocol.h
index a351660ac..3f4e645a3 100644
--- a/include/openvswitch/ofp-protocol.h
+++ b/include/openvswitch/ofp-protocol.h
@@ -79,12 +79,10 @@ enum ofputil_protocol {
OFPUTIL_P_OF13_OXM = 1 << 6,
OFPUTIL_P_OF14_OXM = 1 << 7,
OFPUTIL_P_OF15_OXM = 1 << 8,
- OFPUTIL_P_OF16_OXM = 1 << 9,
#define OFPUTIL_P_ANY_OXM (OFPUTIL_P_OF12_OXM | \
OFPUTIL_P_OF13_OXM | \
OFPUTIL_P_OF14_OXM | \
- OFPUTIL_P_OF15_OXM | \
- OFPUTIL_P_OF16_OXM)
+ OFPUTIL_P_OF15_OXM)
#define OFPUTIL_P_NXM_OF11_UP (OFPUTIL_P_OF10_NXM_ANY | OFPUTIL_P_OF11_STD | \
OFPUTIL_P_ANY_OXM)
@@ -96,8 +94,7 @@ enum ofputil_protocol {
#define OFPUTIL_P_OF12_UP (OFPUTIL_P_OF12_OXM | OFPUTIL_P_OF13_UP)
#define OFPUTIL_P_OF13_UP (OFPUTIL_P_OF13_OXM | OFPUTIL_P_OF14_UP)
#define OFPUTIL_P_OF14_UP (OFPUTIL_P_OF14_OXM | OFPUTIL_P_OF15_UP)
-#define OFPUTIL_P_OF15_UP (OFPUTIL_P_OF15_OXM | OFPUTIL_P_OF16_UP)
-#define OFPUTIL_P_OF16_UP OFPUTIL_P_OF16_OXM
+#define OFPUTIL_P_OF15_UP OFPUTIL_P_OF15_OXM
/* All protocols. */
#define OFPUTIL_P_ANY ((1 << 10) - 1)
diff --git a/lib/meta-flow.xml b/lib/meta-flow.xml
index 31db7610a..4a175c546 100644
--- a/lib/meta-flow.xml
+++ b/lib/meta-flow.xml
@@ -3720,9 +3720,7 @@ r r c c c.
label at any given time. To match on the second label, one must first
``pop'' the outer label and advance to another OpenFlow table, where the
inner label may be matched. To match on the third label, one must pop
- the two outer labels, and so on. The Open Networking Foundation is
- considering support for directly matching on multiple MPLS labels for
- OpenFlow 1.6.<!-- XXX add EXT-* link -->
+ the two outer labels, and so on.
</p>
<h2>MPLS Inner Protocol</h2>
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c
index 6f1751864..e8e88aca4 100644
--- a/lib/ofp-actions.c
+++ b/lib/ofp-actions.c
@@ -8632,7 +8632,6 @@ get_ofpact_map(enum ofp_version version)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
default:
return of12;
}
diff --git a/lib/ofp-bundle.c b/lib/ofp-bundle.c
index 1f65fe54c..0161c2bc6 100644
--- a/lib/ofp-bundle.c
+++ b/lib/ofp-bundle.c
@@ -112,7 +112,6 @@ ofputil_encode_bundle_ctrl_request(enum ofp_version ofp_version,
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
request = ofpraw_alloc(ofp_version == OFP13_VERSION
? OFPRAW_ONFT13_BUNDLE_CONTROL
: OFPRAW_OFPT14_BUNDLE_CONTROL, ofp_version, 0);
diff --git a/lib/ofp-errors.c b/lib/ofp-errors.c
index 3ca09cb68..35191abf1 100644
--- a/lib/ofp-errors.c
+++ b/lib/ofp-errors.c
@@ -56,8 +56,6 @@ ofperr_domain_from_version(enum ofp_version version)
return &ofperr_of14;
case OFP15_VERSION:
return &ofperr_of15;
- case OFP16_VERSION:
- return &ofperr_of16;
default:
return NULL;
}
diff --git a/lib/ofp-flow.c b/lib/ofp-flow.c
index f6b3f556e..c45afd204 100644
--- a/lib/ofp-flow.c
+++ b/lib/ofp-flow.c
@@ -384,8 +384,7 @@ ofputil_encode_flow_mod(const struct ofputil_flow_mod *fm,
case OFPUTIL_P_OF12_OXM:
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
- case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM: {
+ case OFPUTIL_P_OF15_OXM: {
struct ofp11_flow_mod *ofm;
int tailroom;
@@ -746,8 +745,7 @@ ofputil_encode_flow_stats_request(const struct ofputil_flow_stats_request *fsr,
case OFPUTIL_P_OF12_OXM:
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
- case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM: {
+ case OFPUTIL_P_OF15_OXM: {
struct ofp11_flow_stats_request *ofsr;
if (protocol > OFPUTIL_P_OF14_OXM) {
diff --git a/lib/ofp-group.c b/lib/ofp-group.c
index 6857164f0..da5ff5848 100644
--- a/lib/ofp-group.c
+++ b/lib/ofp-group.c
@@ -274,8 +274,7 @@ ofputil_encode_group_desc_request(enum ofp_version ofp_version,
ofp_version, 0);
break;
case OFP10_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp15_group_desc_request *req;
request = ofpraw_alloc((ofp_version == OFP10_VERSION
? OFPRAW_NXST_GROUP_DESC_REQUEST
@@ -369,8 +368,7 @@ ofputil_append_group_stats(struct ovs_list *replies,
case OFP10_VERSION:
case OFP13_VERSION:
case OFP14_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp13_group_stats *gs13;
length = sizeof *gs13 + bucket_counter_size;
@@ -1306,7 +1304,6 @@ ofputil_append_group_desc_reply(const struct ofputil_group_desc *gds,
case OFP10_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
ofputil_append_ofp15_group_desc_reply(gds, buckets, replies, version);
break;
@@ -1780,7 +1777,6 @@ ofputil_decode_group_desc_reply(struct ofputil_group_desc *gd,
case OFP10_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return ofputil_decode_ofp15_group_desc_reply(gd, msg, version);
default:
@@ -2117,7 +2113,6 @@ ofputil_encode_group_mod(enum ofp_version ofp_version,
case OFP10_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return ofputil_encode_ofp15_group_mod(ofp_version, gm, group_existed);
default:
@@ -2304,7 +2299,6 @@ ofputil_decode_group_mod(const struct ofp_header *oh,
case OFP10_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
err = ofputil_pull_ofp15_group_mod(&msg, ofp_version, gm);
break;
diff --git a/lib/ofp-match.c b/lib/ofp-match.c
index e83fa9086..2ec28f803 100644
--- a/lib/ofp-match.c
+++ b/lib/ofp-match.c
@@ -564,7 +564,6 @@ ofputil_match_typical_len(enum ofputil_protocol protocol)
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM:
return NXM_TYPICAL_LEN;
default:
@@ -607,7 +606,6 @@ ofputil_put_ofp11_match(struct ofpbuf *b, const struct match *match,
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM:
return oxm_put_match(b, match,
ofputil_protocol_to_ofp_version(protocol));
}
diff --git a/lib/ofp-monitor.c b/lib/ofp-monitor.c
index 4c15d11e8..aeebd7e9c 100644
--- a/lib/ofp-monitor.c
+++ b/lib/ofp-monitor.c
@@ -218,8 +218,7 @@ ofputil_encode_flow_removed(const struct ofputil_flow_removed *fr,
ofputil_put_ofp11_match(msg, &fr->match, protocol);
break;
}
- case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM: {
+ case OFPUTIL_P_OF15_OXM: {
struct ofp15_flow_removed *ofr;
msg = ofpraw_alloc_xid(OFPRAW_OFPT15_FLOW_REMOVED,
diff --git a/lib/ofp-msgs.c b/lib/ofp-msgs.c
index ddea4f25e..fec54f75f 100644
--- a/lib/ofp-msgs.c
+++ b/lib/ofp-msgs.c
@@ -327,7 +327,6 @@ ofp_is_stat_request(enum ofp_version version, uint8_t type)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return type == OFPT11_STATS_REQUEST;
}
@@ -345,7 +344,6 @@ ofp_is_stat_reply(enum ofp_version version, uint8_t type)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return type == OFPT11_STATS_REPLY;
}
@@ -387,7 +385,6 @@ ofphdrs_len(const struct ofphdrs *hdrs)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
if (hdrs->type == OFPT11_STATS_REQUEST ||
hdrs->type == OFPT11_STATS_REPLY) {
return (hdrs->stat == OFPST_VENDOR
@@ -807,7 +804,6 @@ ofpraw_stats_request_to_reply(enum ofpraw raw, uint8_t version)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
ovs_assert(hdrs.type == OFPT11_STATS_REQUEST);
hdrs.type = OFPT11_STATS_REPLY;
break;
@@ -1038,7 +1034,6 @@ ofpmp_flags__(const struct ofp_header *oh)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return &((struct ofp11_stats_msg *) oh)->flags;
default:
OVS_NOT_REACHED();
diff --git a/lib/ofp-packet.c b/lib/ofp-packet.c
index aa3417c9b..a1ffe17de 100644
--- a/lib/ofp-packet.c
+++ b/lib/ofp-packet.c
@@ -667,7 +667,6 @@ ofputil_encode_packet_in_private(const struct ofputil_packet_in_private *pin,
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM:
msg = ofputil_encode_ofp12_packet_in(&pin->base, version);
break;
@@ -1193,8 +1192,7 @@ ofputil_encode_packet_out(const struct ofputil_packet_out *po,
break;
}
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp15_packet_out *opo;
size_t len;
diff --git a/lib/ofp-port.c b/lib/ofp-port.c
index 15dac4f0a..16d587488 100644
--- a/lib/ofp-port.c
+++ b/lib/ofp-port.c
@@ -165,7 +165,7 @@ ofputil_port_from_string(const char *s,
"be translated to %u when talking to an OF1.1 or "
"later controller", port32, port32 + OFPP11_OFFSET);
} else if (port32 <= ofp_to_u16(OFPP_LAST_RESV)) {
- char name[OFP10_MAX_PORT_NAME_LEN];
+ char name[OFP_MAX_PORT_NAME_LEN];
ofputil_port_to_string(u16_to_ofp(port32), NULL,
name, sizeof name);
@@ -553,34 +553,6 @@ ofputil_pull_ofp14_port(struct ofputil_phy_port *pp, struct ofpbuf *msg)
return ofputil_pull_ofp14_port_properties(ofpbuf_pull(msg, len), len, pp);
}
-static enum ofperr
-ofputil_pull_ofp16_port(struct ofputil_phy_port *pp, struct ofpbuf *msg)
-{
- const struct ofp16_port *op = ofpbuf_try_pull(msg, sizeof *op);
- if (!op) {
- return OFPERR_OFPBRC_BAD_LEN;
- }
-
- size_t len = ntohs(op->length);
- if (len < sizeof *op || len - sizeof *op > msg->size) {
- return OFPERR_OFPBRC_BAD_LEN;
- }
- len -= sizeof *op;
-
- enum ofperr error = ofputil_port_from_ofp11(op->port_no, &pp->port_no);
- if (error) {
- return error;
- }
- pp->hw_addr = op->hw_addr;
- pp->hw_addr64 = op->hw_addr64;
- ovs_strlcpy_arrays(pp->name, op->name);
-
- pp->config = ntohl(op->config) & OFPPC11_ALL;
- pp->state = ntohl(op->state) & OFPPS11_ALL;
-
- return ofputil_pull_ofp14_port_properties(ofpbuf_pull(msg, len), len, pp);
-}
-
static void
ofputil_encode_ofp10_phy_port(const struct ofputil_phy_port *pp,
struct ofp10_phy_port *opp)
@@ -655,27 +627,6 @@ ofputil_put_ofp14_port(const struct ofputil_phy_port *pp, struct ofpbuf *b)
ofputil_encode_ofp14_port_ethernet_prop(pp, eth);
}
-static void
-ofputil_put_ofp16_port(const struct ofputil_phy_port *pp, struct ofpbuf *b)
-{
- struct ofp16_port *op;
- struct ofp14_port_desc_prop_ethernet *eth;
-
- ofpbuf_prealloc_tailroom(b, sizeof *op + sizeof *eth);
-
- op = ofpbuf_put_zeros(b, sizeof *op);
- op->port_no = ofputil_port_to_ofp11(pp->port_no);
- op->length = htons(sizeof *op + sizeof *eth);
- op->hw_addr = pp->hw_addr;
- op->hw_addr64 = pp->hw_addr64;
- ovs_strlcpy_arrays(op->name, pp->name);
- op->config = htonl(pp->config & OFPPC11_ALL);
- op->state = htonl(pp->state & OFPPS11_ALL);
-
- eth = ofpprop_put_zeros(b, OFPPDPT14_ETHERNET, sizeof *eth);
- ofputil_encode_ofp14_port_ethernet_prop(pp, eth);
-}
-
void
ofputil_put_phy_port(enum ofp_version ofp_version,
const struct ofputil_phy_port *pp, struct ofpbuf *b)
@@ -699,9 +650,6 @@ ofputil_put_phy_port(enum ofp_version ofp_version,
case OFP15_VERSION:
ofputil_put_ofp14_port(pp, b);
break;
- case OFP16_VERSION:
- ofputil_put_ofp16_port(pp, b);
- break;
default:
OVS_NOT_REACHED();
@@ -743,8 +691,7 @@ ofputil_encode_port_desc_stats_request(enum ofp_version ofp_version,
request = ofpraw_alloc(OFPRAW_OFPST10_PORT_DESC_REQUEST,
ofp_version, 0);
break;
- case OFP15_VERSION:
- case OFP16_VERSION:{
+ case OFP15_VERSION: {
struct ofp15_port_desc_request *req;
request = ofpraw_alloc(OFPRAW_OFPST15_PORT_DESC_REQUEST,
ofp_version, 0);
@@ -795,8 +742,6 @@ ofputil_pull_phy_port(enum ofp_version ofp_version, struct ofpbuf *b,
case OFP14_VERSION:
case OFP15_VERSION:
return b->size ? ofputil_pull_ofp14_port(pp, b) : EOF;
- case OFP16_VERSION:
- return b->size ? ofputil_pull_ofp16_port(pp, b) : EOF;
default:
OVS_NOT_REACHED();
}
@@ -821,11 +766,6 @@ ofputil_phy_port_format(struct ds *s, const struct ofputil_phy_port *port)
ds_put_format(s, "(%s): addr:"ETH_ADDR_FMT"\n",
name, ETH_ADDR_ARGS(port->hw_addr));
- if (!eth_addr64_is_zero(port->hw_addr64)) {
- ds_put_format(s, " addr64: "ETH_ADDR64_FMT"\n",
- ETH_ADDR64_ARGS(port->hw_addr64));
- }
-
ds_put_cstr(s, " config: ");
ofputil_port_config_format(s, port->config);
@@ -952,10 +892,6 @@ ofputil_encode_port_status(const struct ofputil_port_status *ps,
raw = OFPRAW_OFPT14_PORT_STATUS;
break;
- case OFP16_VERSION:
- raw = OFPRAW_OFPT16_PORT_STATUS;
- break;
-
default:
OVS_NOT_REACHED();
}
@@ -1078,24 +1014,6 @@ ofputil_decode_ofp14_port_mod(struct ofpbuf *b, bool loose,
return ofputil_decode_ofp14_port_mod_properties(b, loose, pm);
}
-static enum ofperr
-ofputil_decode_ofp16_port_mod(struct ofpbuf *b, bool loose,
- struct ofputil_port_mod *pm)
-{
- const struct ofp16_port_mod *opm = ofpbuf_pull(b, sizeof *opm);
- enum ofperr error = ofputil_port_from_ofp11(opm->port_no, &pm->port_no);
- if (error) {
- return error;
- }
-
- pm->hw_addr = opm->hw_addr;
- pm->hw_addr64 = opm->hw_addr64;
- pm->config = ntohl(opm->config) & OFPPC11_ALL;
- pm->mask = ntohl(opm->mask) & OFPPC11_ALL;
-
- return ofputil_decode_ofp14_port_mod_properties(b, loose, pm);
-}
-
/* Decodes the OpenFlow "port mod" message in '*oh' into an abstract form in
* '*pm'. Returns 0 if successful, otherwise an OFPERR_* value. */
enum ofperr
@@ -1114,8 +1032,6 @@ ofputil_decode_port_mod(const struct ofp_header *oh,
error = ofputil_decode_ofp11_port_mod(b.data, pm);
} else if (raw == OFPRAW_OFPT14_PORT_MOD) {
error = ofputil_decode_ofp14_port_mod(&b, loose, pm);
- } else if (raw == OFPRAW_OFPT16_PORT_MOD) {
- error = ofputil_decode_ofp16_port_mod(&b, loose, pm);
} else {
error = OFPERR_OFPBRC_BAD_TYPE;
}
@@ -1179,23 +1095,6 @@ ofputil_encode_port_mod(const struct ofputil_port_mod *pm,
}
break;
}
- case OFP16_VERSION: {
- struct ofp16_port_mod *opm;
-
- b = ofpraw_alloc(OFPRAW_OFPT16_PORT_MOD, ofp_version, 0);
- opm = ofpbuf_put_zeros(b, sizeof *opm);
- opm->port_no = ofputil_port_to_ofp11(pm->port_no);
- opm->hw_addr = pm->hw_addr;
- opm->hw_addr64 = pm->hw_addr64;
- opm->config = htonl(pm->config & OFPPC11_ALL);
- opm->mask = htonl(pm->mask & OFPPC11_ALL);
-
- if (pm->advertise) {
- ofpprop_put_be32(b, OFPPMPT14_ETHERNET,
- netdev_port_features_to_ofp11(pm->advertise));
- }
- break;
- }
default:
OVS_NOT_REACHED();
}
@@ -1211,10 +1110,6 @@ ofputil_port_mod_format(struct ds *s, const struct ofputil_port_mod *pm,
ofputil_format_port(pm->port_no, port_map, s);
ds_put_format(s, ": addr:"ETH_ADDR_FMT"\n",
ETH_ADDR_ARGS(pm->hw_addr));
- if (!eth_addr64_is_zero(pm->hw_addr64)) {
- ds_put_format(s, " addr64: "ETH_ADDR64_FMT"\n",
- ETH_ADDR64_ARGS(pm->hw_addr64));
- }
ds_put_cstr(s, " config: ");
ofputil_port_config_format(s, pm->config);
@@ -1251,8 +1146,7 @@ ofputil_encode_dump_ports_request(enum ofp_version ofp_version,
case OFP12_VERSION:
case OFP13_VERSION:
case OFP14_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp11_port_stats_request *req;
request = ofpraw_alloc(OFPRAW_OFPST11_PORT_REQUEST, ofp_version, 0);
req = ofpbuf_put_zeros(request, sizeof *req);
@@ -1462,7 +1356,6 @@ ofputil_append_port_stat(struct ovs_list *replies,
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
ofputil_append_ofp14_port_stats(ops, replies);
break;
@@ -1941,7 +1834,6 @@ ofputil_decode_port_stats_request(const struct ofp_header *request,
ofp_port_t *ofp10_port)
{
switch ((enum ofp_version)request->version) {
- case OFP16_VERSION:
case OFP15_VERSION:
case OFP14_VERSION:
case OFP13_VERSION:
diff --git a/lib/ofp-print.c b/lib/ofp-print.c
index 9c8851590..b0facbf9f 100644
--- a/lib/ofp-print.c
+++ b/lib/ofp-print.c
@@ -807,9 +807,6 @@ ofp_print_version(const struct ofp_header *oh,
case OFP15_VERSION:
ds_put_cstr(string, " (OF1.5)");
break;
- case OFP16_VERSION:
- ds_put_cstr(string, " (OF1.6)");
- break;
default:
ds_put_format(string, " (OF 0x%02"PRIx8")", oh->version);
break;
diff --git a/lib/ofp-protocol.c b/lib/ofp-protocol.c
index a8f3b9685..4d2dd6268 100644
--- a/lib/ofp-protocol.c
+++ b/lib/ofp-protocol.c
@@ -46,7 +46,6 @@ static const struct proto_abbrev proto_abbrevs[] = {
#define N_PROTO_ABBREVS ARRAY_SIZE(proto_abbrevs)
enum ofputil_protocol ofputil_flow_dump_protocols[] = {
- OFPUTIL_P_OF16_OXM,
OFPUTIL_P_OF15_OXM,
OFPUTIL_P_OF14_OXM,
OFPUTIL_P_OF13_OXM,
@@ -77,8 +76,6 @@ ofputil_protocols_from_ofp_version(enum ofp_version version)
return OFPUTIL_P_OF14_OXM;
case OFP15_VERSION:
return OFPUTIL_P_OF15_OXM;
- case OFP16_VERSION:
- return OFPUTIL_P_OF16_OXM;
default:
return 0;
}
@@ -116,8 +113,6 @@ ofputil_protocol_to_ofp_version(enum ofputil_protocol protocol)
return OFP14_VERSION;
case OFPUTIL_P_OF15_OXM:
return OFP15_VERSION;
- case OFPUTIL_P_OF16_OXM:
- return OFP16_VERSION;
}
OVS_NOT_REACHED();
@@ -200,9 +195,6 @@ ofputil_protocol_set_tid(enum ofputil_protocol protocol, bool enable)
case OFPUTIL_P_OF15_OXM:
return OFPUTIL_P_OF15_OXM;
- case OFPUTIL_P_OF16_OXM:
- return OFPUTIL_P_OF16_OXM;
-
default:
OVS_NOT_REACHED();
}
@@ -249,9 +241,6 @@ ofputil_protocol_set_base(enum ofputil_protocol cur,
case OFPUTIL_P_OF15_OXM:
return ofputil_protocol_set_tid(OFPUTIL_P_OF15_OXM, tid);
- case OFPUTIL_P_OF16_OXM:
- return ofputil_protocol_set_tid(OFPUTIL_P_OF16_OXM, tid);
-
default:
OVS_NOT_REACHED();
}
@@ -294,9 +283,6 @@ ofputil_protocol_to_string(enum ofputil_protocol protocol)
case OFPUTIL_P_OF15_OXM:
return "OXM-OpenFlow15";
-
- case OFPUTIL_P_OF16_OXM:
- return "OXM-OpenFlow16";
}
/* Check abbreviations. */
@@ -438,9 +424,6 @@ ofputil_version_from_string(const char *s)
if (!strcasecmp(s, "OpenFlow15")) {
return OFP15_VERSION;
}
- if (!strcasecmp(s, "OpenFlow16")) {
- return OFP16_VERSION;
- }
return 0;
}
@@ -515,8 +498,6 @@ ofputil_version_to_string(enum ofp_version ofp_version)
return "OpenFlow14";
case OFP15_VERSION:
return "OpenFlow15";
- case OFP16_VERSION:
- return "OpenFlow16";
default:
OVS_NOT_REACHED();
}
@@ -599,7 +580,6 @@ ofputil_encode_set_protocol(enum ofputil_protocol current,
case OFPUTIL_P_OF13_OXM:
case OFPUTIL_P_OF14_OXM:
case OFPUTIL_P_OF15_OXM:
- case OFPUTIL_P_OF16_OXM:
/* There is only one variant of each OpenFlow 1.1+ protocol, and we
* verified above that we're not trying to change versions. */
OVS_NOT_REACHED();
diff --git a/lib/ofp-queue.c b/lib/ofp-queue.c
index 1c939878e..efb8a250a 100644
--- a/lib/ofp-queue.c
+++ b/lib/ofp-queue.c
@@ -542,7 +542,6 @@ ofputil_decode_queue_stats_request(const struct ofp_header *request,
struct ofputil_queue_stats_request *oqsr)
{
switch ((enum ofp_version)request->version) {
- case OFP16_VERSION:
case OFP15_VERSION:
case OFP14_VERSION:
case OFP13_VERSION:
@@ -584,8 +583,7 @@ ofputil_encode_queue_stats_request(
case OFP12_VERSION:
case OFP13_VERSION:
case OFP14_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp11_queue_stats_request *req;
request = ofpraw_alloc(OFPRAW_OFPST11_QUEUE_REQUEST, ofp_version, 0);
req = ofpbuf_put_zeros(request, sizeof *req);
@@ -851,8 +849,7 @@ ofputil_append_queue_stat(struct ovs_list *replies,
}
case OFP14_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp14_queue_stats *reply = ofpmp_append(replies, sizeof *reply);
ofputil_queue_stats_to_ofp14(oqs, reply);
break;
diff --git a/lib/ofp-switch.c b/lib/ofp-switch.c
index 1fbfabed5..2f7a1cad2 100644
--- a/lib/ofp-switch.c
+++ b/lib/ofp-switch.c
@@ -52,7 +52,6 @@ ofputil_capabilities_mask(enum ofp_version ofp_version)
return OFPC_COMMON | OFPC12_PORT_BLOCKED;
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return OFPC_COMMON | OFPC12_PORT_BLOCKED | OFPC14_BUNDLES
| OFPC14_FLOW_MONITORING;
default:
@@ -168,7 +167,6 @@ ofputil_encode_switch_features(const struct ofputil_switch_features *features,
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
raw = OFPRAW_OFPT13_FEATURES_REPLY;
break;
default:
@@ -193,7 +191,6 @@ ofputil_encode_switch_features(const struct ofputil_switch_features *features,
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
osf->auxiliary_id = features->auxiliary_id;
/* fall through */
case OFP11_VERSION:
diff --git a/lib/ofp-table.c b/lib/ofp-table.c
index 88a1533fc..d2014f087 100644
--- a/lib/ofp-table.c
+++ b/lib/ofp-table.c
@@ -584,7 +584,6 @@ ofputil_encode_table_features_request(enum ofp_version ofp_version)
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
request = ofpraw_alloc(OFPRAW_OFPST13_TABLE_FEATURES_REQUEST,
ofp_version, 0);
break;
@@ -999,7 +998,6 @@ ofputil_encode_table_config(enum ofputil_table_miss miss,
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
/* OpenFlow 1.4 introduced OFPTC14_EVICTION and
* OFPTC14_VACANCY_EVENTS. */
if (eviction == OFPUTIL_TABLE_EVICTION_ON) {
@@ -1136,8 +1134,7 @@ ofputil_encode_table_mod(const struct ofputil_table_mod *tm,
break;
}
case OFP14_VERSION:
- case OFP15_VERSION:
- case OFP16_VERSION: {
+ case OFP15_VERSION: {
struct ofp14_table_mod *otm;
b = ofpraw_alloc(OFPRAW_OFPT14_TABLE_MOD, ofp_version, 0);
@@ -1954,7 +1951,6 @@ ofputil_append_table_stats_reply(struct ofpbuf *reply,
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
ofputil_put_ofp13_table_stats(stats, reply);
break;
@@ -2125,7 +2121,6 @@ ofputil_decode_table_stats_reply(struct ofpbuf *msg,
case OFP13_VERSION:
case OFP14_VERSION:
case OFP15_VERSION:
- case OFP16_VERSION:
return ofputil_decode_ofp13_table_stats(msg, stats, features);
default:
diff --git a/lib/ofp-util.c b/lib/ofp-util.c
index ebbee077c..a324ceeea 100644
--- a/lib/ofp-util.c
+++ b/lib/ofp-util.c
@@ -219,7 +219,6 @@ ofputil_encode_barrier_request(enum ofp_version ofp_version)
enum ofpraw type;
switch (ofp_version) {
- case OFP16_VERSION:
case OFP15_VERSION:
case OFP14_VERSION:
case OFP13_VERSION:
diff --git a/lib/ofp-version.man b/lib/ofp-version.man
index 39e4477d1..0e5391db7 100644
--- a/lib/ofp-version.man
+++ b/lib/ofp-version.man
@@ -36,7 +36,3 @@ and development purposes. They are not enabled by default:
.RS
.IP \(bu
\fBOpenFlow15\fR, for OpenFlow 1.5.
-.
-.IP \(bu
-\fBOpenFlow16\fR, for OpenFlow 1.6.
-.RE
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index ecedb6dcd..acd4817c2 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -5146,7 +5146,7 @@ xlate_output_trunc_action(struct xlate_ctx *ctx,
{
bool support_trunc = ctx->xbridge->support.trunc;
struct ovs_action_trunc *trunc;
- char name[OFP10_MAX_PORT_NAME_LEN];
+ char name[OFP_MAX_PORT_NAME_LEN];
switch (port) {
case OFPP_TABLE:
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 050ff6577..50c959bbf 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -5224,7 +5224,7 @@ ofproto_unixctl_fdb_show(struct unixctl_conn *conn, int argc OVS_UNUSED,
ovs_rwlock_rdlock(&ofproto->ml->rwlock);
LIST_FOR_EACH (e, lru_node, &ofproto->ml->lrus) {
struct ofbundle *bundle = mac_entry_get_port(ofproto->ml, e);
- char name[OFP10_MAX_PORT_NAME_LEN];
+ char name[OFP_MAX_PORT_NAME_LEN];
ofputil_port_to_string(ofbundle_get_a_port(bundle)->up.ofp_port,
NULL, name, sizeof name);
@@ -5328,7 +5328,7 @@ ofproto_unixctl_mcast_snooping_show(struct unixctl_conn *conn,
ovs_rwlock_rdlock(&ofproto->ms->rwlock);
LIST_FOR_EACH (grp, group_node, &ofproto->ms->group_lru) {
LIST_FOR_EACH(b, bundle_node, &grp->bundle_lru) {
- char name[OFP10_MAX_PORT_NAME_LEN];
+ char name[OFP_MAX_PORT_NAME_LEN];
bundle = b->port;
ofputil_port_to_string(ofbundle_get_a_port(bundle)->up.ofp_port,
@@ -5342,7 +5342,7 @@ ofproto_unixctl_mcast_snooping_show(struct unixctl_conn *conn,
/* ports connected to multicast routers */
LIST_FOR_EACH(mrouter, mrouter_node, &ofproto->ms->mrouter_lru) {
- char name[OFP10_MAX_PORT_NAME_LEN];
+ char name[OFP_MAX_PORT_NAME_LEN];
bundle = mrouter->port;
ofputil_port_to_string(ofbundle_get_a_port(bundle)->up.ofp_port,
diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
index d63d47625..c0bc46a35 100644
--- a/ofproto/ofproto.c
+++ b/ofproto/ofproto.c
@@ -2357,7 +2357,6 @@ ofport_open(struct ofproto *ofproto,
}
pp->port_no = ofproto_port->ofp_port;
netdev_get_etheraddr(netdev, &pp->hw_addr);
- pp->hw_addr64 = eth_addr64_zero;
ovs_strlcpy(pp->name, ofproto_port->name, sizeof pp->name);
netdev_get_flags(netdev, &flags);
pp->config = flags & NETDEV_UP ? 0 : OFPUTIL_PC_PORT_DOWN;
@@ -2378,7 +2377,6 @@ ofport_equal(const struct ofputil_phy_port *a,
const struct ofputil_phy_port *b)
{
return (eth_addr_equals(a->hw_addr, b->hw_addr)
- && eth_addr64_equals(a->hw_addr64, b->hw_addr64)
&& a->state == b->state
&& a->config == b->config
&& a->curr == b->curr
@@ -3689,8 +3687,7 @@ port_mod_start(struct ofconn *ofconn, struct ofputil_port_mod *pm,
if (!*port) {
return OFPERR_OFPPMFC_BAD_PORT;
}
- if (!eth_addr_equals((*port)->pp.hw_addr, pm->hw_addr) ||
- !eth_addr64_equals((*port)->pp.hw_addr64, pm->hw_addr64)) {
+ if (!eth_addr_equals((*port)->pp.hw_addr, pm->hw_addr)) {
return OFPERR_OFPPMFC_BAD_HW_ADDR;
}
return 0;
diff --git a/tests/ofp-errors.at b/tests/ofp-errors.at
index 690c4a6fb..da3aca3af 100644
--- a/tests/ofp-errors.at
+++ b/tests/ofp-errors.at
@@ -102,7 +102,6 @@ OpenFlow 1.2: vendor 0, type 3, code 5
OpenFlow 1.3: vendor 0, type 3, code 5
OpenFlow 1.4: vendor 0, type 3, code 5
OpenFlow 1.5: vendor 0, type 3, code 5
-OpenFlow 1.6: vendor 0, type 3, code 5
])
AT_CHECK([ovs-ofctl print-error OFPBIC_BAD_EXP_TYPE], [0], [dnl
OpenFlow 1.1: vendor 0, type 3, code 5
@@ -110,7 +109,6 @@ OpenFlow 1.2: vendor 0, type 3, code 6
OpenFlow 1.3: vendor 0, type 3, code 6
OpenFlow 1.4: vendor 0, type 3, code 6
OpenFlow 1.5: vendor 0, type 3, code 6
-OpenFlow 1.6: vendor 0, type 3, code 6
])
AT_CLEANUP
diff --git a/tests/ofp-print.at b/tests/ofp-print.at
index e0b7cfb05..fe8ccdf30 100644
--- a/tests/ofp-print.at
+++ b/tests/ofp-print.at
@@ -711,32 +711,6 @@ OFPT_PORT_STATUS (OF1.4) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
])
AT_CLEANUP
-AT_SETUP([OFPT_PORT_STATUS - OF1.6])
-AT_KEYWORDS([ofp-print])
-AT_CHECK([ovs-ofctl ofp-print "\
-07 0c 00 90 00 00 00 00 02 00 00 00 00 00 00 00 \
-\
-00 00 00 03 00 80 00 03 50 54 00 00 00 01 00 00 \
-50 54 00 ff fe 00 00 01 \
-65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
-00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
-00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
-00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
-00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
-00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
-00 01 86 a0 00 01 86 a0 \
-"], [0], [dnl
-OFPT_PORT_STATUS (OF1.6) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
- addr64: 50:54:00:ff:fe:00:00:01
- config: 0
- state: 0
- current: 100MB-FD AUTO_NEG
- advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
- supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
- speed: 100 Mbps now, 100 Mbps max
-])
-AT_CLEANUP
-
AT_SETUP([OFPT_PACKET_OUT - OF1.0])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print "\
@@ -1234,21 +1208,6 @@ OFPT_PORT_MOD (OF1.4) (xid=0x3): port: 3: addr:50:54:00:00:00:01
])
AT_CLEANUP
-AT_SETUP([OFPT_PORT_MOD - OF1.6])
-AT_KEYWORDS([ofp-print])
-AT_CHECK([ovs-ofctl ofp-print "\
-07 10 00 30 00 00 00 03 00 00 00 03 00 03 00 00 \
-50 54 00 00 00 01 00 00 50 54 00 ff fe 00 00 01 \
-00 00 00 01 00 00 00 01 00 00 00 08 00 00 00 01
-" 3], [0], [dnl
-OFPT_PORT_MOD (OF1.6) (xid=0x3): port: 3: addr:50:54:00:00:00:01
- addr64: 50:54:00:ff:fe:00:00:01
- config: PORT_DOWN
- mask: PORT_DOWN
- advertise: 10MB-HD
-])
-AT_CLEANUP
-
AT_SETUP([OFPT_TABLE_MOD - OF1.1])
AT_KEYWORDS([ofp-print])
AT_CHECK([ovs-ofctl ofp-print "\
diff --git a/tests/ofproto-macros.at b/tests/ofproto-macros.at
index 1ac7351f4..2f33feabc 100644
--- a/tests/ofproto-macros.at
+++ b/tests/ofproto-macros.at
@@ -434,8 +434,7 @@ add_of_br () {
other-config:datapath-id=$dpid \
other-config:hwaddr=$mac \
protocols="[[OpenFlow10,OpenFlow11,OpenFlow12,\
- OpenFlow13,OpenFlow14,OpenFlow15,\
- OpenFlow16]]" \
+ OpenFlow13,OpenFlow14,OpenFlow15]]" \
-- "$@"
}
diff --git a/tests/ofproto.at b/tests/ofproto.at
index baae70cd6..213fb2623 100644
--- a/tests/ofproto.at
+++ b/tests/ofproto.at
@@ -181,40 +181,6 @@ OFPST_PORT_DESC reply (OF1.5):
OVS_VSWITCHD_STOP
AT_CLEANUP
-AT_SETUP([ofproto - port-desc stats (OpenFlow 1.6)])
-OVS_VSWITCHD_START
-add_of_ports br0 1 2 3
-AT_CHECK([ovs-ofctl -F OXM-OpenFlow16 -O OpenFlow16 -vwarn dump-ports-desc br0], [0], [stdout])
-AT_CHECK([strip_xids < stdout | sed 's/00:0./00:0x/'], [0], [dnl
-OFPST_PORT_DESC reply (OF1.6):
- 1(p1): addr:aa:55:aa:55:00:0x
- config: 0
- state: LIVE
- speed: 0 Mbps now, 0 Mbps max
- 2(p2): addr:aa:55:aa:55:00:0x
- config: 0
- state: LIVE
- speed: 0 Mbps now, 0 Mbps max
- 3(p3): addr:aa:55:aa:55:00:0x
- config: 0
- state: LIVE
- speed: 0 Mbps now, 0 Mbps max
- LOCAL(br0): addr:aa:55:aa:55:00:0x
- config: 0
- state: LIVE
- speed: 0 Mbps now, 0 Mbps max
-])
-AT_CHECK([ovs-ofctl -F OXM-OpenFlow16 -O OpenFlow16 -vwarn dump-ports-desc br0 2], [0], [stdout])
-AT_CHECK([strip_xids < stdout | sed 's/00:0./00:0x/'], [0], [dnl
-OFPST_PORT_DESC reply (OF1.6):
- 2(p2): addr:aa:55:aa:55:00:0x
- config: 0
- state: LIVE
- speed: 0 Mbps now, 0 Mbps max
-])
-OVS_VSWITCHD_STOP
-AT_CLEANUP
-
dnl CHECK_QUEUE_STATS(label, option, format)
m4_define([CHECK_QUEUE_STATS], [
AT_SETUP([ofproto - queue stats - (OpenFlow $1)])
@@ -747,7 +713,7 @@ OFPT_GROUP_MOD (OF1.5):
])
# Negative test.
AT_CHECK([ovs-ofctl -O OpenFlow11 -vwarn remove-buckets br0 group_id=1234,command_bucket_id=last], [1], [],
- [ovs-ofctl: none of the usable flow formats (OpenFlow10,NXM,OXM-OpenFlow15,OXM-OpenFlow16) is among the allowed flow formats (OpenFlow11)
+ [ovs-ofctl: none of the usable flow formats (OpenFlow10,NXM,OXM-OpenFlow15) is among the allowed flow formats (OpenFlow11)
])
OVS_VSWITCHD_STOP
AT_CLEANUP
@@ -1054,7 +1020,7 @@ Error OFPBFC_MSG_FAILED for: OFPT_BUNDLE_CONTROL (OF1.5):
])
# Negative test.
AT_CHECK([ovs-ofctl --bundle -O OpenFlow11 -vwarn remove-buckets br0 group_id=1234,command_bucket_id=last], [1], [],
- [ovs-ofctl: none of the usable flow formats (OXM-OpenFlow15,OXM-OpenFlow16) is among the allowed flow formats (OXM-OpenFlow14)
+ [ovs-ofctl: none of the usable flow formats (OXM-OpenFlow15) is among the allowed flow formats (OXM-OpenFlow14)
])
OVS_VSWITCHD_STOP
AT_CLEANUP
@@ -1374,39 +1340,6 @@ done
OVS_VSWITCHD_STOP
AT_CLEANUP
-AT_SETUP([ofproto - mod-port (OpenFlow 1.6)])
-OVS_VSWITCHD_START
-for command_config_state in \
- 'up 0 LIVE' \
- 'no-receive NO_RECV LIVE' \
- 'no-forward NO_RECV,NO_FWD LIVE' \
- 'no-packet-in NO_RECV,NO_FWD,NO_PACKET_IN LIVE' \
- 'forward NO_RECV,NO_PACKET_IN LIVE' \
- 'packet-in NO_RECV LIVE' \
- 'up NO_RECV LIVE' \
- 'receive 0 LIVE' \
- 'down PORT_DOWN LINK_DOWN'
-do
- printf '\n--- %s --- \n\n' "$command_config_state"
- set $command_config_state
- command=$[1] config=`echo $[2] | sed 's/,/ /g'` state=$[3]
- AT_CHECK([ovs-ofctl -O OpenFlow16 -vwarn mod-port br0 br0 $command])
- AT_CHECK([ovs-ofctl -O OpenFlow16 -vwarn show br0], [0], [stdout])
- AT_CHECK_UNQUOTED([strip_xids < stdout], [0], [dnl
-OFPT_FEATURES_REPLY (OF1.6): dpid:fedcba9876543210
-n_tables:254, n_buffers:0
-capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS QUEUE_STATS BUNDLES
-OFPST_PORT_DESC reply (OF1.6):
- LOCAL(br0): addr:aa:55:aa:55:00:00
- config: $config
- state: $state
- speed: 0 Mbps now, 0 Mbps max
-OFPT_GET_CONFIG_REPLY (OF1.6): frags=normal miss_send_len=0
-])
-done
-OVS_VSWITCHD_STOP
-AT_CLEANUP
-
AT_SETUP([ofproto - basic flow_mod commands (NXM)])
OVS_VSWITCHD_START
AT_CHECK([ovs-ofctl dump-flows br0 | ofctl_strip], [0], [NXST_FLOW reply:
@@ -5564,19 +5497,19 @@ dnl Check logs for OpenFlow trace
# Prevent race.
OVS_WAIT_UNTIL([vconn_sub < ovs-vswitchd.log | test `grep -- "|vconn|DBG|unix: sent (Success): NXST_FLOW reply" | wc -l` -ge 3])
AT_CHECK([print_vconn_debug | vconn_sub | ofctl_strip], [0], [dnl
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: OFPT_FLOW_MOD: DEL actions=drop
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
@@ -5614,11 +5547,11 @@ vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
@@ -5626,11 +5559,11 @@ vconn|DBG|unix: received: NXST_FLOW request:
vconn|DBG|unix: sent (Success): NXST_FLOW reply:
idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=output:5
idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=output:6
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
@@ -5647,11 +5580,11 @@ vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
@@ -5659,11 +5592,11 @@ vconn|DBG|unix: received: NXST_FLOW request:
vconn|DBG|unix: sent (Success): NXST_FLOW reply:
idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=output:7
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
@@ -5683,11 +5616,11 @@ vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
@@ -6246,19 +6179,19 @@ dnl Check logs for OpenFlow trace
# Prevent race.
OVS_WAIT_UNTIL([vconn_sub < ovs-vswitchd.log | test `grep -- "|vconn|DBG|unix: sent (Success): NXST_FLOW reply" | wc -l` -ge 3])
AT_CHECK([print_vconn_debug | vconn_sub | ofctl_strip], [0], [dnl
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: OFPT_FLOW_MOD: DEL actions=drop
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.3):
version bitmap: 0x04
-vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x07 and earlier, peer supports version 0x04)
+vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x06 and earlier, peer supports version 0x04)
vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
@@ -6296,11 +6229,11 @@ vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
@@ -6308,11 +6241,11 @@ vconn|DBG|unix: received: NXST_FLOW request:
vconn|DBG|unix: sent (Success): NXST_FLOW reply:
idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=output:5
idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=output:6
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.3):
version bitmap: 0x04
-vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x07 and earlier, peer supports version 0x04)
+vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x06 and earlier, peer supports version 0x04)
vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
@@ -6329,11 +6262,11 @@ vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
@@ -6341,11 +6274,11 @@ vconn|DBG|unix: received: NXST_FLOW request:
vconn|DBG|unix: sent (Success): NXST_FLOW reply:
idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=output:7
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.3):
version bitmap: 0x04
-vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x07 and earlier, peer supports version 0x04)
+vconn|DBG|unix: negotiated OpenFlow version 0x04 (we support version 0x06 and earlier, peer supports version 0x04)
vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
@@ -6365,11 +6298,11 @@ vconn|DBG|unix: received: ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): ONFT_BUNDLE_CONTROL (OF1.3):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO:
version bitmap: 0x01
-vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x07 and earlier, peer supports version 0x01)
+vconn|DBG|unix: negotiated OpenFlow version 0x01 (we support version 0x06 and earlier, peer supports version 0x01)
vconn|DBG|unix: received: NXT_SET_FLOW_FORMAT: format=nxm
vconn|DBG|unix: received: OFPT_BARRIER_REQUEST:
vconn|DBG|unix: sent (Success): OFPT_BARRIER_REPLY:
diff --git a/tests/ovs-ofctl.at b/tests/ovs-ofctl.at
index 6ae347042..c8062c8ac 100644
--- a/tests/ovs-ofctl.at
+++ b/tests/ovs-ofctl.at
@@ -3080,11 +3080,11 @@ dnl Check logs for OpenFlow trace
OVS_WAIT_UNTIL([vconn_sub < ovs-vswitchd.log | test `grep -- "|vconn|DBG|unix: sent (Success): OFPST_FLOW reply" | wc -l` -ge 2])
# AT_CHECK([sed -n "s/^.*\(|vconn|DBG|.*xid=.*:\).*$/\1/p" ovs-vswitchd.log], [0], [dnl
AT_CHECK([print_vconn_debug | vconn_sub | ofctl_strip], [0], [dnl
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=OPEN_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
@@ -3119,11 +3119,11 @@ vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPST_FLOW request (OF1.4):
vconn|DBG|unix: sent (Success): OFPST_FLOW reply (OF1.4):
table=1, importance=1, dl_vlan=1 actions=drop
@@ -3168,11 +3168,11 @@ vconn|DBG|unix: received: OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REQUEST flags=atomic ordered
vconn|DBG|unix: sent (Success): OFPT_BUNDLE_CONTROL (OF1.4):
bundle_id=0 type=COMMIT_REPLY flags=0
-vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.6):
- version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
+vconn|DBG|unix: sent (Success): OFPT_HELLO (OF1.5):
+ version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06
vconn|DBG|unix: received: OFPT_HELLO (OF1.4):
version bitmap: 0x05
-vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x07 and earlier, peer supports version 0x05)
+vconn|DBG|unix: negotiated OpenFlow version 0x05 (we support version 0x06 and earlier, peer supports version 0x05)
vconn|DBG|unix: received: OFPST_FLOW request (OF1.4):
vconn|DBG|unix: sent (Success): OFPST_FLOW reply (OF1.4):
table=1, importance=11, dl_vlan=1 actions=drop
diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in
index c7b156571..60b4a1c45 100644
--- a/utilities/ovs-ofctl.8.in
+++ b/utilities/ovs-ofctl.8.in
@@ -1288,8 +1288,8 @@ vSwitch 2.10 added support for table names. Earlier versions always
behaved as if \fB\-\-no\-names\fR were specified.
.IP
Open vSwitch does not place its own limit on the length of port names,
-but OpenFlow 1.0 to 1.5 limit port names to 15 bytes and OpenFlow 1.6
-limits them to 63 bytes. Because \fRovs\-ofctl\fR uses OpenFlow to
+but OpenFlow limits port names to 15 bytes.
+Because \fRovs\-ofctl\fR uses OpenFlow to
retrieve the mapping between port names and numbers, names longer than
this limit will be truncated for both display and acceptance.
Truncation can also cause long names that are different to appear to
@@ -1365,7 +1365,6 @@ format.
.IQ "\fBOXM-OpenFlow13\fR"
.IQ "\fBOXM-OpenFlow14\fR"
.IQ "\fBOXM-OpenFlow15\fR"
-.IQ "\fBOXM-OpenFlow16\fR"
These are the standard OXM (OpenFlow Extensible Match) flow format in
OpenFlow 1.2 and later.
.RE
diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c
index aab5a5cd9..d8a31e394 100644
--- a/utilities/ovs-ofctl.c
+++ b/utilities/ovs-ofctl.c
@@ -2489,7 +2489,6 @@ ofctl_mod_port(struct ovs_cmdl_context *ctx)
pm.port_no = pp.port_no;
pm.hw_addr = pp.hw_addr;
- pm.hw_addr64 = pp.hw_addr64;
pm.config = 0;
pm.mask = 0;
pm.advertise = 0;
@@ -2695,8 +2694,7 @@ ofctl_mod_table(struct ovs_cmdl_context *ctx)
* necessary to restore the current configuration of table-config
* parameters using OFPMP14_TABLE_DESC request. */
if (allowed_versions & ((1u << OFP14_VERSION) |
- (1u << OFP15_VERSION) |
- (1u << OFP16_VERSION))) {
+ (1u << OFP15_VERSION))) {
struct ofputil_table_desc td;
if (tm.table_id == OFPTT_ALL) {
diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema
index 1e4e342dc..3499fda49 100644
--- a/vswitchd/vswitch.ovsschema
+++ b/vswitchd/vswitch.ovsschema
@@ -1,6 +1,6 @@
{"name": "Open_vSwitch",
- "version": "7.16.1",
- "cksum": "1452282319 23860",
+ "version": "8.0.0",
+ "cksum": "1406362528 23817",
"tables": {
"Open_vSwitch": {
"columns": {
@@ -104,8 +104,7 @@
"OpenFlow12",
"OpenFlow13",
"OpenFlow14",
- "OpenFlow15",
- "OpenFlow16"]]},
+ "OpenFlow15"]]},
"min": 0, "max": "unlimited"}},
"fail_mode": {
"type": {"key": {"type": "string",
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 1db4e8694..766a9b104 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -1252,9 +1252,8 @@
</p>
<p>
- OpenFlow 1.5 and 1.6 are not enabled by default because their
- implementations are missing features. In addition, the OpenFlow 1.6
- specification is still under development and thus subject to change.
+ OpenFlow 1.5 is not enabled by default because its
+ implementations is missing features.
</p>
</column>
</group>