2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

ofp-msgs: Add support for ONF extension messages.

ONF introduced a number of "standard extensions" that use its own
vendor (experimenter) ID.  This commit adds support for such extensions to
ofp-msgs.

These extensions were already half-supported, so there's barely any change
to build-aux/extract-ofp-msgs.

This isn't fully tested, since nothing adds support for such a message yet.

Requested-by: Jarno Rajahalme <jarno@ovn.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Jarno Rajahalme <jarno@ovn.org>
This commit is contained in:
Ben Pfaff
2016-01-27 15:46:41 -08:00
parent 4077f060cc
commit 2123bc8c09
6 changed files with 56 additions and 76 deletions

View File

@@ -68,14 +68,6 @@ struct nx_vendor_error {
/* Nicira vendor requests and replies. */
/* Header for Nicira vendor requests and replies. */
struct nicira_header {
struct ofp_header header;
ovs_be32 vendor; /* NX_VENDOR_ID. */
ovs_be32 subtype; /* See the NXT numbers in ofp-msgs.h. */
};
OFP_ASSERT(sizeof(struct nicira_header) == 16);
/* Header for Nicira vendor stats request and reply messages in OpenFlow
* 1.0. */
struct nicira10_stats_msg {
@@ -85,14 +77,6 @@ struct nicira10_stats_msg {
};
OFP_ASSERT(sizeof(struct nicira10_stats_msg) == 24);
/* Header for Nicira vendor stats request and reply messages in OpenFlow
* 1.1. */
struct nicira11_stats_msg {
struct ofp11_vendor_stats_msg vsm; /* Vendor NX_VENDOR_ID. */
ovs_be32 subtype; /* One of NXST_* below. */
};
OFP_ASSERT(sizeof(struct nicira11_stats_msg) == 24);
/* Fields to use when hashing flows. */
enum nx_hash_fields {
/* Ethernet source address (NXM_OF_ETH_SRC) only. */

View File

@@ -391,17 +391,6 @@ struct ofp11_stats_msg {
};
OFP_ASSERT(sizeof(struct ofp11_stats_msg) == 16);
/* Vendor extension stats message. */
struct ofp11_vendor_stats_msg {
struct ofp11_stats_msg osm; /* Type OFPST_VENDOR. */
ovs_be32 vendor; /* Vendor ID:
* - MSB 0: low-order bytes are IEEE OUI.
* - MSB != 0: defined by OpenFlow
* consortium. */
/* Followed by vendor-defined arbitrary additional data. */
};
OFP_ASSERT(sizeof(struct ofp11_vendor_stats_msg) == 20);
/* Stats request of type OFPST_FLOW. */
struct ofp11_flow_stats_request {
uint8_t table_id; /* ID of table to read (from ofp_table_stats),

View File

@@ -428,17 +428,6 @@ struct ofp_hello_elem_header {
};
OFP_ASSERT(sizeof(struct ofp_hello_elem_header) == 4);
/* Vendor extension. */
struct ofp_vendor_header {
struct ofp_header header; /* Type OFPT_VENDOR or OFPT_EXPERIMENTER. */
ovs_be32 vendor; /* Vendor ID:
* - MSB 0: low-order bytes are IEEE OUI.
* - MSB != 0: defined by OpenFlow
* consortium. */
/* Vendor-defined arbitrary additional data. */
};
OFP_ASSERT(sizeof(struct ofp_vendor_header) == 12);
/* Table numbering. Tables can use any number up to OFPT_MAX. */
enum ofp_table {
/* Last usable table number. */